p_table <- function(tab_data, ...) {
tab_data_2 <- deparse(substitute(tab_data))
table_p <- do.call(CreateTableOne,
list(data = as.name(tab_data_2), includeNA = TRUE, ...))
table_p_out <- print(table_p,
showAllLevels = TRUE,
printToggle = FALSE)
kable(table_p_out,
align = "c")
}
uni_var <- function(test_var, data_imp) {
cat("_________________________________________________")
cat("\n")
cat(" \n##", test_var)
cat("\n")
cat("_________________________________________________")
cat("\n")
f <- as.formula(paste("Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)",
as.name(test_var),
sep = " ~ " ))
data_imp_2 <- deparse(substitute(data_imp))
km_fit <- do.call("survfit", list(formula = f, data = as.name(data_imp_2)))
print(km_fit)
cat("\n")
print(summary(km_fit, times = c(12, 24, 36, 48, 60, 120)))
cat("\n")
cat("\n")
cat("\n")
cat(" \n## Univariable Cox Proportional Hazard Model for: ", test_var)
cat("\n")
cat("\n")
n_levels <- nlevels(data_imp[[test_var]])
if(n_levels == 1){
print("Only one level, no Cox model performed")
cat("\n")
} else {
cox_fit <- do.call("coxph", list(formula = f, data = as.name(data_imp_2)))
print(summary(cox_fit))
cat("\n")
do.call("ggforest",
list(model = cox_fit, data = as.name(data_imp_2)))
}
cat("\n")
cat("\n")
cat("\n")
cat(" \n## Unadjusted Kaplan Meier Overall Survival Curve for: ", test_var)
p <- do.call("ggsurvplot",
list(fit = km_fit, data = as.name(data_imp_2),
palette = "jco", censor = FALSE, legend = "right",
linetype = "strata", xlab = "Time (Months)"))
print(p)
}
col.width <- c(37, 10, 1, 1, 3, 1, 2, 1, 2, 1, 1, 1, 1, 1, 1, 8, 2, 2, 2, 4, 4, 1, 4, 1, 1,
1, 3, 2, 2, 8, 2, 5, 5, 5, 4, 5, 5, 5,4, 2, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 6, 8,
8, 8, 2, 1, 1, 1, 1, 8, 1, 1, 8, 1, 1, 2, 2, 5, 2, 5, 3, 1, 3, 1, 8, 8, 2, 8,
2, 8, 2, 2, 1, 8, 1, 1, 1, 1, 1, 8, 1, 2, 2, 2, 2, 2, 1, 1, 1, 2, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1)
col.names.abr <- c("PUF_CASE_ID", "PUF_FACILITY_ID", "FACILITY_TYPE_CD", "FACILITY_LOCATION_CD",
"AGE", "SEX", "RACE", "SPANISH_HISPANIC_ORIGIN", "INSURANCE_STATUS",
"MED_INC_QUAR_00", "NO_HSD_QUAR_00", "UR_CD_03", "MED_INC_QUAR_12", "NO_HSD_QUAR_12",
"UR_CD_13", "CROWFLY", "CDCC_TOTAL_BEST", "SEQUENCE_NUMBER", "CLASS_OF_CASE",
"YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "LATERALITY", "HISTOLOGY", "BEHAVIOR", "GRADE",
"DIAGNOSTIC_CONFIRMATION", "TUMOR_SIZE", "REGIONAL_NODES_POSITIVE",
"REGIONAL_NODES_EXAMINED", "DX_STAGING_PROC_DAYS", "RX_SUMM_DXSTG_PROC", "TNM_CLIN_T",
"TNM_CLIN_N", "TNM_CLIN_M", "TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
"TNM_PATH_STAGE_GROUP", "TNM_EDITION_NUMBER", "ANALYTIC_STAGE_GROUP", "CS_METS_AT_DX",
"CS_METS_EVAL", "CS_EXTENSION", "CS_TUMOR_SIZEEXT_EVAL", "CS_METS_DX_BONE", "CS_METS_DX_BRAIN",
"CS_METS_DX_LIVER", "CS_METS_DX_LUNG", "LYMPH_VASCULAR_INVASION", "CS_SITESPECIFIC_FACTOR_1",
"CS_SITESPECIFIC_FACTOR_2", "CS_SITESPECIFIC_FACTOR_3", "CS_SITESPECIFIC_FACTOR_4",
"CS_SITESPECIFIC_FACTOR_5", "CS_SITESPECIFIC_FACTOR_6", "CS_SITESPECIFIC_FACTOR_7",
"CS_SITESPECIFIC_FACTOR_8", "CS_SITESPECIFIC_FACTOR_9", "CS_SITESPECIFIC_FACTOR_10",
"CS_SITESPECIFIC_FACTOR_11", "CS_SITESPECIFIC_FACTOR_12", "CS_SITESPECIFIC_FACTOR_13",
"CS_SITESPECIFIC_FACTOR_14", "CS_SITESPECIFIC_FACTOR_15", "CS_SITESPECIFIC_FACTOR_16",
"CS_SITESPECIFIC_FACTOR_17", "CS_SITESPECIFIC_FACTOR_18", "CS_SITESPECIFIC_FACTOR_19",
"CS_SITESPECIFIC_FACTOR_20", "CS_SITESPECIFIC_FACTOR_21", "CS_SITESPECIFIC_FACTOR_22",
"CS_SITESPECIFIC_FACTOR_23", "CS_SITESPECIFIC_FACTOR_24", "CS_SITESPECIFIC_FACTOR_25",
"CS_VERSION_LATEST", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS", "DX_DEFSURG_STARTED_DAYS",
"RX_SUMM_SURG_PRIM_SITE", "RX_HOSP_SURG_APPR_2010", "RX_SUMM_SURGICAL_MARGINS",
"RX_SUMM_SCOPE_REG_LN_SUR", "RX_SUMM_SURG_OTH_REGDIS", "SURG_DISCHARGE_DAYS", "READM_HOSP_30_DAYS",
"REASON_FOR_NO_SURGERY", "DX_RAD_STARTED_DAYS", "RX_SUMM_RADIATION", "RAD_LOCATION_OF_RX",
"RAD_TREAT_VOL", "RAD_REGIONAL_RX_MODALITY", "RAD_REGIONAL_DOSE_CGY", "RAD_BOOST_RX_MODALITY",
"RAD_BOOST_DOSE_CGY", "RAD_NUM_TREAT_VOL", "RX_SUMM_SURGRAD_SEQ", "RAD_ELAPSED_RX_DAYS",
"REASON_FOR_NO_RADIATION", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS", "RX_SUMM_CHEMO",
"DX_HORMONE_STARTED_DAYS", "RX_SUMM_HORMONE", "DX_IMMUNO_STARTED_DAYS", "RX_SUMM_IMMUNOTHERAPY",
"RX_SUMM_TRNSPLNT_ENDO", "RX_SUMM_SYSTEMIC_SUR_SEQ", "DX_OTHER_STARTED_DAYS", "RX_SUMM_OTHER",
"PALLIATIVE_CARE", "RX_SUMM_TREATMENT_STATUS", "PUF_30_DAY_MORT_CD", "PUF_90_DAY_MORT_CD",
"DX_LASTCONTACT_DEATH_MONTHS", "PUF_VITAL_STATUS", "RX_HOSP_SURG_PRIM_SITE", "RX_HOSP_CHEMO",
"RX_HOSP_IMMUNOTHERAPY", "RX_HOSP_HORMONE", "RX_HOSP_OTHER", "PUF_MULT_SOURCE", "REFERENCE_DATE_FLAG",
"RX_SUMM_SCOPE_REG_LN_2012", "RX_HOSP_DXSTG_PROC", "PALLIATIVE_CARE_HOSP", "TUMOR_SIZE_SUMMARY",
"METS_AT_DX_OTHER", "METS_AT_DX_DISTANT_LN", "METS_AT_DX_BONE", "METS_AT_DX_BRAIN",
"METS_AT_DX_LIVER", "METS_AT_DX_LUNG", "NO_HSD_QUAR_16", "MED_INC_QUAR_16", "MEDICAID_EXPN_CODE")
#Read in data for each subsite
lip <- read_fwf('NCDBPUF_Lip.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
melanoma <- read_fwf('NCDBPUF_Melanoma.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
skin <- read_fwf('NCDBPUF_OtSkin.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
hodgextr <- read_fwf('NCDBPUF_HodgExtr.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
hodgndal <- read_fwf('NCDBPUF_HodgNdal.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
NHLndal <- read_fwf('NCDBPUF_NHLNdal.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
breast <- read_fwf('NCDBPUF_Breast.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
vulva <- read_fwf('NCDBPUF_Vulva.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
vagina <- read_fwf('NCDBPUF_Vagina.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
penis <- read_fwf('NCDBPUF_Penis.3.2016.0.dat',
fwf_widths(col.width, col_names = col.names.abr),
col_types = cols(.default = col_character()))
#Combine data for all subsites
dat <- bind_rows(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast,
vulva, vagina, penis)
rm(lip, melanoma, skin, hodgextr, hodgndal, NHLndal, breast, vulva, vagina, penis)
prim_site_text <- data_frame(PRIMARY_SITE = c(
#NHL sites
"C098",
"C099",
"C111",
"C142",
"C379",
"C422",
"C770",
"C771",
"C772",
"C773",
"C774",
"C775",
"C778",
"C779"),
SITE_TEXT = c(
"C09.8 Tonsil: Overlapping",
"C09.9 = Tonsil NOS",
"C11.1 Nasopharynx: Poster Wall",
"C14.2 Waldeyer Ring",
"C37.9 Thymus",
"C42.2 Spleen",
"C77.0 Lymph Nodes: HeadFaceNeck",
"C77.1 Intrathoracic Lymph Nodes",
"C77.2 Intra-abdominal LymphNodes",
"C77.3 Lymph Nodes of axilla or arm ",
"C77.4 Lymph Nodes: Leg",
"C77.5 Pelvic Lymph Nodes",
"C77.8 Lymph Nodes: multiple region",
"C77.9 Lymph Node NOS"))
dat <- merge(dat, prim_site_text, by = "PRIMARY_SITE", all.x = TRUE)
rm(prim_site_text)
# convert numeric variables from character class to numeric class
num_vars <- c("AGE", "CROWFLY", "TUMOR_SIZE", "DX_STAGING_PROC_DAYS", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
"DX_DEFSURG_STARTED_DAYS", "SURG_DISCHARGE_DAYS", "DX_RAD_STARTED_DAYS", "RAD_REGIONAL_DOSE_CGY",
"RAD_BOOST_DOSE_CGY", "RAD_ELAPSED_RX_DAYS", "DX_SYSTEMIC_STARTED_DAYS", "DX_CHEMO_STARTED_DAYS",
"DX_HORMONE_STARTED_DAYS", "DX_OTHER_STARTED_DAYS", "DX_LASTCONTACT_DEATH_MONTHS",
"RAD_NUM_TREAT_VOL")
dat[num_vars] <- lapply(dat[num_vars], as.numeric)
# convert factor variables from character class to factor class
vars <- names(dat)
fact_vars <- vars[!(vars %in% num_vars)] # basically all of the non-numerics
dat[fact_vars] <- lapply(dat[fact_vars], as.character)
dat[fact_vars] <- lapply(dat[fact_vars], as.factor)
dat <- dat %>%
mutate(FACILITY_TYPE_F = fct_recode(FACILITY_TYPE_CD,
"Community Cancer Program" = "1",
"Comprehensive Comm Ca Program" = "2",
"Academic/Research Program" = "3",
"Integrated Network Ca Program" = "4",
"Other" = "9")) %>%
mutate(FACILITY_LOCATION_F = fct_recode(FACILITY_LOCATION_CD,
"New England" = "1",
"Middle Atlantic" = "2",
"South Atlantic" = "3",
"East North Central" = "4",
"East South Central" = "5",
"West North Central" = "6",
"West South Central" = "7",
"Mountain" = "8",
"Pacific" = "9",
"out of US" = "0")) %>%
mutate(FACILITY_GEOGRAPHY = fct_collapse(FACILITY_LOCATION_CD,
"Northeast" = c("1", "2"),
"South" = c("3", "7"),
"Midwest" = c("4", "5", "6"),
"West" = c("8", "9"))) %>%
mutate(AGE_F = cut(AGE, c(0, 54, 64, 74, 100))) %>%
mutate(AGE_40 = cut(AGE, c(0, 40, 100))) %>%
mutate(SEX_F = fct_recode(SEX,
"Male" = "1",
"Female" = "2")) %>%
mutate(RACE_F = fct_collapse(RACE,
"White" = c("01"),
"Black" = c("02"),
"Asian" = c("04", "05", "06", "07", "08", "10", "11", "12", "13", "14", "15",
"16", "17", "20", "21", "22", "25", "26", "27", "28", "30", "31",
"32", "96", "97"),
"Other/Unk" = c("03", "98", "99"))) %>%
mutate(HISPANIC = fct_collapse(SPANISH_HISPANIC_ORIGIN,
"Yes" = c("1", "2", "3", "4", "5", "6", "7", "8"),
"No" = c("0"),
"Unknown" = c("9"))) %>%
mutate(INSURANCE_F = fct_recode(INSURANCE_STATUS,
"None" = "0",
"Private" = "1",
"Medicaid" = "2",
"Medicare" = "3",
"Other Government" = "4",
"Unknown" = "9")) %>%
mutate(INSURANCE_F = fct_relevel(INSURANCE_F,
"Private")) %>%
mutate(INCOME_F = fct_recode(MED_INC_QUAR_12,
"Less than $38,000" = "1",
"$38,000 - $47,999" = "2",
"$48,000 - $62,999" = "3",
"$63,000 +" = "4")) %>%
mutate(EDUCATION_F = fct_recode(NO_HSD_QUAR_12,
"21% or more" = "1",
"13 - 20.9%" = "2",
"7 - 12.9%" = "3",
"Less than 7%" = "4")) %>%
mutate(U_R_F = fct_collapse(UR_CD_13,
"Metro" = c("1", "2", "3"),
"Urban" = c("4", "5", "6", "7"),
"Rural" = c("8", "9"))) %>%
mutate(CLASS_OF_CASE_F = fct_collapse(CLASS_OF_CASE,
All_Part_Prim = c("10", "11", "12", "13",
"14", "20", "21", "22"),
Other_Facility = c("00"))) %>%
mutate(GRADE_F = fct_recode(GRADE,
"Gr I: Well Diff" = "1",
"Gr II: Mod Diff" = "2",
"Gr III: Poor Diff" = "3",
"Gr IV: Undiff/Anaplastic" = "4",
"NA/Unkown" = "9")) %>%
mutate(HISTOLOGY_F = fct_infreq(HISTOLOGY)) %>%
mutate(HISTOLOGY_F = factor(HISTOLOGY_F)) %>%
mutate(HISTOLOGY_F_LIM = fct_lump(HISTOLOGY_F, prop = 0.05)) %>%
mutate(TNM_CLIN_T = fct_recode(TNM_CLIN_T,
"N_A" = "88")) %>%
mutate(TNM_CLIN_T = fct_relevel(TNM_CLIN_T,
"1")) %>%
mutate(TNM_CLIN_N = fct_recode(TNM_CLIN_N,
"N_A" = "88")) %>%
mutate(TNM_CLIN_M = fct_recode(TNM_CLIN_M,
"N_A" = "88")) %>%
mutate(TNM_PATH_T = fct_recode(TNM_PATH_T,
"N_A" = "88")) %>%
mutate(TNM_PATH_T = fct_relevel(TNM_PATH_T,
"1")) %>%
mutate(TNM_PATH_N = fct_recode(TNM_PATH_N,
"N_A" = "88")) %>%
mutate(TNM_PATH_M = fct_recode(TNM_PATH_M,
"N_A" = "88")) %>%
mutate(TNM_CLIN_STAGE_GROUP = fct_recode(TNM_CLIN_STAGE_GROUP,
"N_A" = "88")) %>%
mutate(TNM_PATH_STAGE_GROUP = fct_recode(TNM_PATH_STAGE_GROUP,
"N_A" = "88")) %>%
mutate(MARGINS = fct_recode(RX_SUMM_SURGICAL_MARGINS,
"No Residual" = "0",
"Residual, NOS" = "1",
"Microscopic Resid" = "2",
"Macroscopic Resid" = "3",
"Not evaluable" = "7",
"No surg" = "8",
"Unknown" = "9")) %>%
mutate(MARGINS_YN = fct_collapse(RX_SUMM_SURGICAL_MARGINS,
"Yes" = c("1", "2", "3"),
"No" = c("0"),
"No surg/Unk/NA" = c("7", "8", "9"))) %>%
mutate(READM_HOSP_30_DAYS_F = fct_recode(READM_HOSP_30_DAYS,
"No_Surg_or_No_Readmit" = "0",
"Unplan_Readmit_Same" = "1",
"Plan_Readmit_Same" = "2",
"PlanUnplan_Same" = "3",
"Unknown" = "4")) %>%
mutate(RX_SUMM_RADIATION_F = fct_recode(RX_SUMM_RADIATION,
"None" = "0",
"Beam Radiation" = "1",
"Radioactive Implants" = "2",
"Radioisotopes" = "3",
"Beam + Imp or Isotopes" = "4",
"Radiation, NOS" = "5",
"Unknown" = "9")) %>%
mutate(PUF_30_DAY_MORT_CD_F = fct_recode(PUF_30_DAY_MORT_CD,
"Alive_30" = "0",
"Dead_30" = "1",
"Unknown" = "9")) %>%
mutate(PUF_90_DAY_MORT_CD_F = fct_recode(PUF_90_DAY_MORT_CD,
"Alive_90" = "0",
"Dead_90" = "1",
"Unknown" = "9")) %>%
mutate(LYMPH_VASCULAR_INVASION_F = fct_recode(LYMPH_VASCULAR_INVASION,
"Neg_LymphVasc_Inv" = "0",
"Pos_LumphVasc_Inv" = "1",
"N_A" = "8",
"Unknown" = "9")) %>%
mutate(RX_HOSP_SURG_APPR_2010_F = fct_recode(RX_HOSP_SURG_APPR_2010,
"No_Surg" = "0",
"Robot_Assist" = "1",
"Robot_to_Open" = "2",
"Endo_Lap" = "3",
"Endo_Lap_to_Open" = "4",
"Open_Unknown" = "5",
"Unknown" = "9")) %>%
mutate(All = "All") %>%
mutate(All = factor(All)) %>%
mutate(REASON_FOR_NO_SURGERY_F = fct_recode(REASON_FOR_NO_SURGERY,
"Surg performed" = "0",
"Surg not recommended" = "1",
"No surg due to pt factors" = "2",
"No surg, pt died" = "5",
"Surg rec, not done" = "6",
"Surg rec, pt refused" = "7",
"Surg rec, unk if done" = "8",
"Unknown" = "9")) %>%
mutate(SURGERY_YN = ifelse(REASON_FOR_NO_SURGERY == "0",
"Yes",
ifelse(REASON_FOR_NO_SURGERY == "9",
"Ukn",
"No"))) %>%
mutate(SURG_TF = case_when(SURGERY_YN == "Yes" ~ TRUE,
SURGERY_YN == "No" ~ FALSE,
TRUE ~ NA)) %>%
mutate(REASON_FOR_NO_RADIATION_F = fct_recode(REASON_FOR_NO_RADIATION,
"Rad performed" = "0",
"Rad not recommended" = "1",
"No Rad due to pt factors" = "2",
"No Rad, pt died" = "5",
"Rad rec, not done" = "6",
"Rad rec, pt refused" = "7",
"Rad rec, unk if done" = "8",
"Unknown" = "9")) %>%
mutate(RADIATION_YN = ifelse(REASON_FOR_NO_RADIATION == "0",
"Yes",
ifelse(REASON_FOR_NO_RADIATION == "9",
NA,
"No"))) %>%
mutate(SURGRAD_SEQ_F = fct_recode(RX_SUMM_SURGRAD_SEQ,
"None or Surg or Rad" = "0",
"Rad before Surg" = "2",
"Surg before Rad" = "3",
"Rad before and after Surg" = "4",
"Intraop Rad" = "5",
"Intraop Rad plus other" = "6",
"Unknown" = "9")) %>%
mutate(SURG_RAD_SEQ = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
"Surg Alone",
ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0",
"Rad Alone",
ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0",
"No Treatment",
ifelse(RX_SUMM_SURGRAD_SEQ == "2",
"Rad then Surg",
ifelse(RX_SUMM_SURGRAD_SEQ == "3",
"Surg then Rad",
ifelse(RX_SUMM_SURGRAD_SEQ == "4",
"Rad before and after Surg",
"Other"))))))) %>%
mutate(SURG_RAD_SEQ = fct_relevel(SURG_RAD_SEQ,
"Surg Alone",
"Surg then Rad",
"Rad Alone")) %>%
mutate(CHEMO_YN = fct_collapse(RX_SUMM_CHEMO,
"No" = c("00", "82", "85", "86", "87"),
"Yes" = c("01", "02", "03"),
"Ukn" = c("88", "99"))) %>%
mutate(SURG_RAD_SEQ_C = ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
"Surg, No rad, No Chemo",
ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
"Rad, No Surg, No Chemo",
ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "No",
"No Surg, No Rad, No Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "No",
"Rad then Surg, No Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "No",
"Surg then Rad, No Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "No",
"Rad before and after Surg, No Chemo",
ifelse(SURGERY_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
"Surg, No rad, Yes Chemo",
ifelse(RADIATION_YN == "Yes" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
"Rad, No Surg, Yes Chemo",
ifelse(SURGERY_YN == "No" & RADIATION_YN == "No" & RX_SUMM_SURGRAD_SEQ == "0" & CHEMO_YN == "Yes",
"No Surg, No Rad, Yes Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "2" & CHEMO_YN == "Yes",
"Rad then Surg, Yes Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "3" & CHEMO_YN == "Yes",
"Surg then Rad, Yes Chemo",
ifelse(RX_SUMM_SURGRAD_SEQ == "4" & CHEMO_YN == "Yes",
"Rad before and after Surg, Yes Chemo",
"Other"))))))))))))) %>%
mutate(SURG_RAD_SEQ_C = fct_infreq(SURG_RAD_SEQ_C)) %>%
mutate(T_SIZE = as.numeric(TUMOR_SIZE)) %>%
mutate(T_SIZE = ifelse(T_SIZE == 0,
"No Tumor",
ifelse(T_SIZE > 0 & T_SIZE < 10 | T_SIZE == 991,
"< 1 cm",
ifelse(T_SIZE >= 10 & T_SIZE < 20 | T_SIZE == 992,
"1-2 cm",
ifelse(T_SIZE >= 20 & T_SIZE < 30 | T_SIZE == 993,
"2-3 cm",
ifelse(T_SIZE >= 30 & T_SIZE < 40 | T_SIZE == 994,
"3-4 cm",
ifelse(T_SIZE >= 40 & T_SIZE < 50 | T_SIZE == 995,
"4-5 cm",
ifelse(T_SIZE >= 50 & T_SIZE < 60 | T_SIZE == 996,
"5-6 cm",
ifelse(T_SIZE >= 60 & T_SIZE <= 987 |
T_SIZE == 980 | T_SIZE == 989 |
T_SIZE == 997,
">6 cm",
ifelse(T_SIZE == 988 | T_SIZE == 999,
"NA_unk",
"Microscopic focus")))))))))) %>%
mutate(T_SIZE = factor(T_SIZE)) %>%
mutate(T_SIZE = fct_relevel(T_SIZE,
"No Tumor", "Microscopic focus", "< 1 cm", "1-2 cm", "2-3 cm", "3-4 cm",
"4-5 cm", "5-6 cm", ">6 cm", "NA_unk")) %>%
mutate(mets_at_dx = case_when(CS_METS_DX_LUNG == "1" ~ "Lung",
CS_METS_DX_BONE == "1" ~ "Bone",
CS_METS_DX_BRAIN == "1" ~ "Brain",
CS_METS_DX_LIVER == "1" ~ "Liver",
TRUE ~ "None/Other/Unk/NA")) %>%
mutate(MEDICAID_EXPN_CODE = fct_recode(MEDICAID_EXPN_CODE,
"Non-Expansion State" = "0",
"Jan 2014 Expansion States" = "1",
"Early Expansion States (2010-13)" = "2",
"Late Expansion States (> Jan 2014)" = "3",
"Suppressed for Ages 0 - 39" = "9")) %>%
mutate(EXPN_GROUP = case_when(MEDICAID_EXPN_CODE %in% c("Jan 2014 Expansion States") &
YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Post-Expansion",
MEDICAID_EXPN_CODE %in% c("Jan 2014 Expansion States") &
YEAR_OF_DIAGNOSIS %in%
c("2004", "2005", "2006", "2007", "2008",
"2009", "2010", "2011", "2012", "2013") ~ "Pre-Expansion",
MEDICAID_EXPN_CODE %in% c("Early Expansion States (2010-13)") &
YEAR_OF_DIAGNOSIS %in% c("2010", "2011", "2012", "2013", "2014", "2015") ~ "Post-Expansion",
MEDICAID_EXPN_CODE %in% c("Early Expansion States (2010-13)") &
YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008", "2009") ~ "Pre-Expansion",
MEDICAID_EXPN_CODE %in% c("Non-Expansion State") ~ "Pre-Expansion",
MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") ~ "Pre-Expansion",
MEDICAID_EXPN_CODE %in% c("Late Expansion States (> Jan 2014)") &
YEAR_OF_DIAGNOSIS %in% c("2014", "2015") ~ "Exclude",
MEDICAID_EXPN_CODE == "Suppressed for Ages 0 - 39" ~ "Exclude")) %>%
mutate(pre_2014 = YEAR_OF_DIAGNOSIS %in% c("2004", "2005", "2006", "2007", "2008",
"2009", "2010", "2011", "2012", "2013")) %>%
mutate(mets_at_dx_F = ifelse(mets_at_dx == "None/Other/Unk/NA", FALSE, TRUE)) %>%
mutate(Tx_YN = ifelse(SURG_RAD_SEQ == "No Treatment" & CHEMO_YN == "No", FALSE,
ifelse(CHEMO_YN == "Ukn", NA,
TRUE)))
fact_vars_2 <- c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "AGE_F", "SEX_F", "RACE_F",
"HISPANIC", "INSURANCE_F", "INCOME_F", "EDUCATION_F", "U_R_F",
"CDCC_TOTAL_BEST", "CLASS_OF_CASE_F", "YEAR_OF_DIAGNOSIS", "PRIMARY_SITE", "HISTOLOGY",
"BEHAVIOR", "GRADE_F", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
"TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M", "TNM_PATH_STAGE_GROUP",
"MARGINS", "READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
"PUF_90_DAY_MORT_CD_F", "LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "mets_at_dx")
dat <- dat %>%
mutate_at(fact_vars_2, funs(factor(.)))
Table of variables for all cases:
| n |
|
772 |
| FACILITY_TYPE_F (%) |
Community Cancer Program |
22 ( 2.8) |
|
Comprehensive Comm Ca Program |
133 ( 17.2) |
|
Academic/Research Program |
230 ( 29.8) |
|
Integrated Network Ca Program |
47 ( 6.1) |
|
NA |
340 ( 44.0) |
| FACILITY_LOCATION_F (%) |
New England |
18 ( 2.3) |
|
Middle Atlantic |
74 ( 9.6) |
|
South Atlantic |
93 ( 12.0) |
|
East North Central |
70 ( 9.1) |
|
East South Central |
22 ( 2.8) |
|
West North Central |
43 ( 5.6) |
|
West South Central |
39 ( 5.1) |
|
Mountain |
11 ( 1.4) |
|
Pacific |
62 ( 8.0) |
|
NA |
340 ( 44.0) |
| FACILITY_GEOGRAPHY (%) |
Northeast |
92 ( 11.9) |
|
South |
132 ( 17.1) |
|
Midwest |
135 ( 17.5) |
|
West |
73 ( 9.5) |
|
NA |
340 ( 44.0) |
| AGE (mean (sd)) |
|
43.14 (22.81) |
| AGE_F (%) |
(0,54] |
510 ( 66.1) |
|
(54,64] |
96 ( 12.4) |
|
(64,74] |
94 ( 12.2) |
|
(74,100] |
72 ( 9.3) |
| AGE_40 (%) |
(0,40] |
349 ( 45.2) |
|
(40,100] |
423 ( 54.8) |
| SEX_F (%) |
Male |
516 ( 66.8) |
|
Female |
256 ( 33.2) |
| RACE_F (%) |
White |
607 ( 78.6) |
|
Black |
106 ( 13.7) |
|
Other/Unk |
23 ( 3.0) |
|
Asian |
36 ( 4.7) |
| HISPANIC (%) |
No |
601 ( 77.8) |
|
Yes |
125 ( 16.2) |
|
Unknown |
46 ( 6.0) |
| INSURANCE_F (%) |
Private |
403 ( 52.2) |
|
None |
56 ( 7.3) |
|
Medicaid |
119 ( 15.4) |
|
Medicare |
161 ( 20.9) |
|
Other Government |
12 ( 1.6) |
|
Unknown |
21 ( 2.7) |
| INCOME_F (%) |
Less than $38,000 |
131 ( 17.0) |
|
$38,000 - $47,999 |
165 ( 21.4) |
|
$48,000 - $62,999 |
209 ( 27.1) |
|
$63,000 + |
258 ( 33.4) |
|
NA |
9 ( 1.2) |
| EDUCATION_F (%) |
21% or more |
146 ( 18.9) |
|
13 - 20.9% |
210 ( 27.2) |
|
7 - 12.9% |
223 ( 28.9) |
|
Less than 7% |
185 ( 24.0) |
|
NA |
8 ( 1.0) |
| U_R_F (%) |
Metro |
656 ( 85.0) |
|
Urban |
79 ( 10.2) |
|
Rural |
10 ( 1.3) |
|
NA |
27 ( 3.5) |
| CROWFLY (mean (sd)) |
|
50.04 (157.57) |
| CDCC_TOTAL_BEST (%) |
0 |
657 ( 85.1) |
|
1 |
83 ( 10.8) |
|
2 |
21 ( 2.7) |
|
3 |
11 ( 1.4) |
| SITE_TEXT (%) |
C09.8 Tonsil: Overlapping |
1 ( 0.1) |
|
C09.9 = Tonsil NOS |
9 ( 1.2) |
|
C11.1 Nasopharynx: Poster Wall |
2 ( 0.3) |
|
C14.2 Waldeyer Ring |
4 ( 0.5) |
|
C37.9 Thymus |
4 ( 0.5) |
|
C42.2 Spleen |
4 ( 0.5) |
|
C77.0 Lymph Nodes: HeadFaceNeck |
75 ( 9.7) |
|
C77.1 Intrathoracic Lymph Nodes |
97 ( 12.6) |
|
C77.2 Intra-abdominal LymphNodes |
27 ( 3.5) |
|
C77.3 Lymph Nodes of axilla or arm |
26 ( 3.4) |
|
C77.4 Lymph Nodes: Leg |
20 ( 2.6) |
|
C77.5 Pelvic Lymph Nodes |
6 ( 0.8) |
|
C77.8 Lymph Nodes: multiple region |
226 ( 29.3) |
|
C77.9 Lymph Node NOS |
271 ( 35.1) |
| HISTOLOGY_F_LIM (%) |
8500 |
0 ( 0.0) |
|
8720 |
0 ( 0.0) |
|
8520 |
0 ( 0.0) |
|
Other |
772 (100.0) |
| HISTOLOGY_F (%) |
8500 |
0 ( 0.0) |
|
8720 |
0 ( 0.0) |
|
8520 |
0 ( 0.0) |
|
8523 |
0 ( 0.0) |
|
9680 |
0 ( 0.0) |
|
8743 |
0 ( 0.0) |
|
8522 |
0 ( 0.0) |
|
8070 |
0 ( 0.0) |
|
8742 |
0 ( 0.0) |
|
8201 |
0 ( 0.0) |
|
8501 |
0 ( 0.0) |
|
8721 |
0 ( 0.0) |
|
8480 |
0 ( 0.0) |
|
9663 |
0 ( 0.0) |
|
8230 |
0 ( 0.0) |
|
9690 |
0 ( 0.0) |
|
9591 |
0 ( 0.0) |
|
8010 |
0 ( 0.0) |
|
9691 |
0 ( 0.0) |
|
9650 |
0 ( 0.0) |
|
9695 |
0 ( 0.0) |
|
9673 |
0 ( 0.0) |
|
8140 |
0 ( 0.0) |
|
9699 |
0 ( 0.0) |
|
8247 |
0 ( 0.0) |
|
8507 |
0 ( 0.0) |
|
9698 |
0 ( 0.0) |
|
8211 |
0 ( 0.0) |
|
9823 |
0 ( 0.0) |
|
8071 |
0 ( 0.0) |
|
8503 |
0 ( 0.0) |
|
9670 |
0 ( 0.0) |
|
9590 |
0 ( 0.0) |
|
8050 |
0 ( 0.0) |
|
8530 |
0 ( 0.0) |
|
8575 |
0 ( 0.0) |
|
9702 |
0 ( 0.0) |
|
8524 |
0 ( 0.0) |
|
9652 |
0 ( 0.0) |
|
9687 |
0 ( 0.0) |
|
8000 |
0 ( 0.0) |
|
8832 |
0 ( 0.0) |
|
8745 |
0 ( 0.0) |
|
8744 |
0 ( 0.0) |
|
8772 |
0 ( 0.0) |
|
9714 |
0 ( 0.0) |
|
8401 |
0 ( 0.0) |
|
8510 |
0 ( 0.0) |
|
9689 |
0 ( 0.0) |
|
9659 |
0 ( 0.0) |
|
9705 |
0 ( 0.0) |
|
8542 |
0 ( 0.0) |
|
9671 |
0 ( 0.0) |
|
9020 |
0 ( 0.0) |
|
8521 |
0 ( 0.0) |
|
8410 |
0 ( 0.0) |
|
8504 |
0 ( 0.0) |
|
8543 |
0 ( 0.0) |
|
8541 |
0 ( 0.0) |
|
9651 |
0 ( 0.0) |
|
9120 |
0 ( 0.0) |
|
8200 |
0 ( 0.0) |
|
8540 |
0 ( 0.0) |
|
8090 |
0 ( 0.0) |
|
9596 |
0 ( 0.0) |
|
8730 |
0 ( 0.0) |
|
8723 |
0 ( 0.0) |
|
9837 |
0 ( 0.0) |
|
8255 |
0 ( 0.0) |
|
8072 |
0 ( 0.0) |
|
8051 |
0 ( 0.0) |
|
8830 |
0 ( 0.0) |
|
8890 |
0 ( 0.0) |
|
8771 |
0 ( 0.0) |
|
9665 |
0 ( 0.0) |
|
8770 |
0 ( 0.0) |
|
8083 |
0 ( 0.0) |
|
8761 |
0 ( 0.0) |
|
8409 |
0 ( 0.0) |
|
9729 |
0 ( 0.0) |
|
9684 |
0 ( 0.0) |
|
9653 |
0 ( 0.0) |
|
8246 |
0 ( 0.0) |
|
8081 |
0 ( 0.0) |
|
9667 |
0 ( 0.0) |
|
8390 |
0 ( 0.0) |
|
8022 |
0 ( 0.0) |
|
8560 |
0 ( 0.0) |
|
8407 |
0 ( 0.0) |
|
8413 |
0 ( 0.0) |
|
8980 |
0 ( 0.0) |
|
8076 |
0 ( 0.0) |
|
8260 |
0 ( 0.0) |
|
9727 |
473 ( 61.3) |
|
8490 |
0 ( 0.0) |
|
8097 |
0 ( 0.0) |
|
8740 |
0 ( 0.0) |
|
8032 |
0 ( 0.0) |
|
8800 |
0 ( 0.0) |
|
8481 |
0 ( 0.0) |
|
8402 |
0 ( 0.0) |
|
9735 |
0 ( 0.0) |
|
9679 |
0 ( 0.0) |
|
9811 |
0 ( 0.0) |
|
8802 |
0 ( 0.0) |
|
8041 |
0 ( 0.0) |
|
9675 |
0 ( 0.0) |
|
8310 |
0 ( 0.0) |
|
8513 |
0 ( 0.0) |
|
8052 |
0 ( 0.0) |
|
8033 |
0 ( 0.0) |
|
8400 |
0 ( 0.0) |
|
9716 |
0 ( 0.0) |
|
8343 |
0 ( 0.0) |
|
8801 |
0 ( 0.0) |
|
9827 |
0 ( 0.0) |
|
8574 |
0 ( 0.0) |
|
8323 |
0 ( 0.0) |
|
8408 |
0 ( 0.0) |
|
8380 |
0 ( 0.0) |
|
8074 |
0 ( 0.0) |
|
9719 |
203 ( 26.3) |
|
8046 |
0 ( 0.0) |
|
8502 |
0 ( 0.0) |
|
8430 |
0 ( 0.0) |
|
9664 |
0 ( 0.0) |
|
8094 |
0 ( 0.0) |
|
9728 |
0 ( 0.0) |
|
8572 |
0 ( 0.0) |
|
8746 |
0 ( 0.0) |
|
8982 |
0 ( 0.0) |
|
8833 |
0 ( 0.0) |
|
8570 |
0 ( 0.0) |
|
8573 |
0 ( 0.0) |
|
8123 |
0 ( 0.0) |
|
8403 |
0 ( 0.0) |
|
9678 |
0 ( 0.0) |
|
8525 |
0 ( 0.0) |
|
8722 |
0 ( 0.0) |
|
8020 |
0 ( 0.0) |
|
9738 |
0 ( 0.0) |
|
8804 |
0 ( 0.0) |
|
8021 |
0 ( 0.0) |
|
8141 |
0 ( 0.0) |
|
8550 |
0 ( 0.0) |
|
8811 |
0 ( 0.0) |
|
8315 |
0 ( 0.0) |
|
8810 |
0 ( 0.0) |
|
8075 |
0 ( 0.0) |
|
8940 |
0 ( 0.0) |
|
8012 |
0 ( 0.0) |
|
8805 |
0 ( 0.0) |
|
8143 |
0 ( 0.0) |
|
8780 |
0 ( 0.0) |
|
9717 |
0 ( 0.0) |
|
8910 |
0 ( 0.0) |
|
9180 |
0 ( 0.0) |
|
8935 |
0 ( 0.0) |
|
8147 |
0 ( 0.0) |
|
8013 |
0 ( 0.0) |
|
8460 |
0 ( 0.0) |
|
8091 |
0 ( 0.0) |
|
8120 |
0 ( 0.0) |
|
8092 |
0 ( 0.0) |
|
8240 |
0 ( 0.0) |
|
8512 |
0 ( 0.0) |
|
8854 |
0 ( 0.0) |
|
9655 |
0 ( 0.0) |
|
8073 |
0 ( 0.0) |
|
8850 |
0 ( 0.0) |
|
8571 |
0 ( 0.0) |
|
9709 |
32 ( 4.1) |
|
8891 |
0 ( 0.0) |
|
9580 |
0 ( 0.0) |
|
8035 |
0 ( 0.0) |
|
8453 |
0 ( 0.0) |
|
8950 |
0 ( 0.0) |
|
8562 |
0 ( 0.0) |
|
8441 |
0 ( 0.0) |
|
9737 |
0 ( 0.0) |
|
8852 |
0 ( 0.0) |
|
9708 |
30 ( 3.9) |
|
8851 |
0 ( 0.0) |
|
9540 |
0 ( 0.0) |
|
8082 |
0 ( 0.0) |
|
8420 |
0 ( 0.0) |
|
8249 |
0 ( 0.0) |
|
8741 |
0 ( 0.0) |
|
8004 |
0 ( 0.0) |
|
9724 |
0 ( 0.0) |
|
8077 |
0 ( 0.0) |
|
9718 |
15 ( 1.9) |
|
8920 |
0 ( 0.0) |
|
8983 |
0 ( 0.0) |
|
9260 |
0 ( 0.0) |
|
9700 |
9 ( 1.2) |
|
8001 |
0 ( 0.0) |
|
8508 |
0 ( 0.0) |
|
9133 |
0 ( 0.0) |
|
8080 |
0 ( 0.0) |
|
8900 |
0 ( 0.0) |
|
9044 |
0 ( 0.0) |
|
8098 |
0 ( 0.0) |
|
8084 |
0 ( 0.0) |
|
8341 |
0 ( 0.0) |
|
9071 |
0 ( 0.0) |
|
8005 |
0 ( 0.0) |
|
8144 |
0 ( 0.0) |
|
8210 |
0 ( 0.0) |
|
8896 |
0 ( 0.0) |
|
8933 |
0 ( 0.0) |
|
8963 |
0 ( 0.0) |
|
8154 |
0 ( 0.0) |
|
9220 |
0 ( 0.0) |
|
8711 |
0 ( 0.0) |
|
8894 |
0 ( 0.0) |
|
8045 |
0 ( 0.0) |
|
9654 |
0 ( 0.0) |
|
8320 |
0 ( 0.0) |
|
8514 |
0 ( 0.0) |
|
8815 |
0 ( 0.0) |
|
9473 |
0 ( 0.0) |
|
8440 |
0 ( 0.0) |
|
8803 |
0 ( 0.0) |
|
8840 |
0 ( 0.0) |
|
9130 |
0 ( 0.0) |
|
9150 |
0 ( 0.0) |
|
9701 |
6 ( 0.8) |
|
8031 |
0 ( 0.0) |
|
8130 |
0 ( 0.0) |
|
8314 |
0 ( 0.0) |
|
8858 |
0 ( 0.0) |
|
9812 |
0 ( 0.0) |
|
8124 |
0 ( 0.0) |
|
8263 |
0 ( 0.0) |
|
8470 |
0 ( 0.0) |
|
9040 |
0 ( 0.0) |
|
9560 |
0 ( 0.0) |
|
8243 |
0 ( 0.0) |
|
8450 |
0 ( 0.0) |
|
8030 |
0 ( 0.0) |
|
8078 |
0 ( 0.0) |
|
8190 |
0 ( 0.0) |
|
8251 |
0 ( 0.0) |
|
8406 |
0 ( 0.0) |
|
9100 |
0 ( 0.0) |
|
8290 |
0 ( 0.0) |
|
8461 |
0 ( 0.0) |
|
8774 |
0 ( 0.0) |
|
8901 |
0 ( 0.0) |
|
8936 |
0 ( 0.0) |
|
8093 |
0 ( 0.0) |
|
8102 |
0 ( 0.0) |
|
8148 |
0 ( 0.0) |
|
8825 |
0 ( 0.0) |
|
8931 |
0 ( 0.0) |
|
8951 |
0 ( 0.0) |
|
9364 |
0 ( 0.0) |
|
9597 |
0 ( 0.0) |
|
9662 |
0 ( 0.0) |
|
8261 |
0 ( 0.0) |
|
8384 |
0 ( 0.0) |
|
8773 |
0 ( 0.0) |
|
9041 |
0 ( 0.0) |
|
9110 |
0 ( 0.0) |
|
8011 |
0 ( 0.0) |
|
8110 |
0 ( 0.0) |
|
8344 |
0 ( 0.0) |
|
8452 |
0 ( 0.0) |
|
8806 |
0 ( 0.0) |
|
9170 |
0 ( 0.0) |
|
9231 |
0 ( 0.0) |
|
9726 |
4 ( 0.5) |
|
9814 |
0 ( 0.0) |
|
9816 |
0 ( 0.0) |
|
9817 |
0 ( 0.0) |
|
8014 |
0 ( 0.0) |
|
8095 |
0 ( 0.0) |
|
8340 |
0 ( 0.0) |
|
8482 |
0 ( 0.0) |
|
8726 |
0 ( 0.0) |
|
8835 |
0 ( 0.0) |
|
8855 |
0 ( 0.0) |
|
8902 |
0 ( 0.0) |
|
8912 |
0 ( 0.0) |
|
8930 |
0 ( 0.0) |
|
9181 |
0 ( 0.0) |
|
9813 |
0 ( 0.0) |
|
9815 |
0 ( 0.0) |
|
8015 |
0 ( 0.0) |
|
8042 |
0 ( 0.0) |
|
8053 |
0 ( 0.0) |
|
8170 |
0 ( 0.0) |
|
8252 |
0 ( 0.0) |
|
8253 |
0 ( 0.0) |
|
8262 |
0 ( 0.0) |
|
8620 |
0 ( 0.0) |
|
8710 |
0 ( 0.0) |
|
8760 |
0 ( 0.0) |
|
8836 |
0 ( 0.0) |
|
8895 |
0 ( 0.0) |
|
9043 |
0 ( 0.0) |
|
9182 |
0 ( 0.0) |
|
9240 |
0 ( 0.0) |
|
9561 |
0 ( 0.0) |
|
9581 |
0 ( 0.0) |
|
9661 |
0 ( 0.0) |
|
9818 |
0 ( 0.0) |
|
8003 |
0 ( 0.0) |
|
8100 |
0 ( 0.0) |
|
8121 |
0 ( 0.0) |
|
8131 |
0 ( 0.0) |
|
8145 |
0 ( 0.0) |
|
8150 |
0 ( 0.0) |
|
8231 |
0 ( 0.0) |
|
8245 |
0 ( 0.0) |
|
8270 |
0 ( 0.0) |
|
8312 |
0 ( 0.0) |
|
8313 |
0 ( 0.0) |
|
8319 |
0 ( 0.0) |
|
8332 |
0 ( 0.0) |
|
8347 |
0 ( 0.0) |
|
8350 |
0 ( 0.0) |
|
8471 |
0 ( 0.0) |
|
8576 |
0 ( 0.0) |
|
8583 |
0 ( 0.0) |
|
8700 |
0 ( 0.0) |
|
8750 |
0 ( 0.0) |
|
8823 |
0 ( 0.0) |
|
8831 |
0 ( 0.0) |
|
8853 |
0 ( 0.0) |
|
8941 |
0 ( 0.0) |
|
8990 |
0 ( 0.0) |
|
9000 |
0 ( 0.0) |
|
9061 |
0 ( 0.0) |
|
9064 |
0 ( 0.0) |
|
9080 |
0 ( 0.0) |
|
9085 |
0 ( 0.0) |
|
9102 |
0 ( 0.0) |
|
9105 |
0 ( 0.0) |
|
9183 |
0 ( 0.0) |
|
9186 |
0 ( 0.0) |
|
9251 |
0 ( 0.0) |
|
9370 |
0 ( 0.0) |
|
9371 |
0 ( 0.0) |
|
9451 |
0 ( 0.0) |
|
9530 |
0 ( 0.0) |
| BEHAVIOR (%) |
2 |
0 ( 0.0) |
|
3 |
772 (100.0) |
| GRADE_F (%) |
Gr I: Well Diff |
0 ( 0.0) |
|
Gr II: Mod Diff |
0 ( 0.0) |
|
Gr III: Poor Diff |
2 ( 0.3) |
|
Gr IV: Undiff/Anaplastic |
1 ( 0.1) |
|
5 |
352 ( 45.6) |
|
6 |
119 ( 15.4) |
|
7 |
4 ( 0.5) |
|
8 |
150 ( 19.4) |
|
NA/Unkown |
144 ( 18.7) |
| DX_STAGING_PROC_DAYS (mean (sd)) |
|
3.86 (35.51) |
| TNM_CLIN_T (%) |
N_A |
740 ( 95.9) |
|
c0 |
0 ( 0.0) |
|
c1 |
0 ( 0.0) |
|
c1A |
0 ( 0.0) |
|
c1B |
0 ( 0.0) |
|
c1C |
0 ( 0.0) |
|
c1MI |
0 ( 0.0) |
|
c2 |
1 ( 0.1) |
|
c2A |
0 ( 0.0) |
|
c2B |
0 ( 0.0) |
|
c2C |
0 ( 0.0) |
|
c3 |
0 ( 0.0) |
|
c3A |
0 ( 0.0) |
|
c3B |
0 ( 0.0) |
|
c4 |
0 ( 0.0) |
|
c4A |
0 ( 0.0) |
|
c4B |
0 ( 0.0) |
|
c4C |
0 ( 0.0) |
|
c4D |
0 ( 0.0) |
|
cX |
9 ( 1.2) |
|
pA |
0 ( 0.0) |
|
pIS |
0 ( 0.0) |
|
NA |
22 ( 2.8) |
| TNM_CLIN_N (%) |
N_A |
740 ( 95.9) |
|
c0 |
1 ( 0.1) |
|
c1 |
0 ( 0.0) |
|
c1A |
0 ( 0.0) |
|
c1B |
0 ( 0.0) |
|
c2 |
0 ( 0.0) |
|
c2A |
0 ( 0.0) |
|
c2B |
0 ( 0.0) |
|
c2C |
0 ( 0.0) |
|
c3 |
0 ( 0.0) |
|
c3A |
0 ( 0.0) |
|
c3B |
0 ( 0.0) |
|
c3C |
0 ( 0.0) |
|
cX |
9 ( 1.2) |
|
NA |
22 ( 2.8) |
| TNM_CLIN_M (%) |
N_A |
740 ( 95.9) |
|
c0 |
10 ( 1.3) |
|
c0I+ |
0 ( 0.0) |
|
c1 |
0 ( 0.0) |
|
c1A |
0 ( 0.0) |
|
c1B |
0 ( 0.0) |
|
c1C |
0 ( 0.0) |
|
NA |
22 ( 2.8) |
| TNM_CLIN_STAGE_GROUP (%) |
0 |
0 ( 0.0) |
|
1 |
47 ( 6.1) |
|
1A |
38 ( 4.9) |
|
1B |
16 ( 2.1) |
|
1C |
0 ( 0.0) |
|
2 |
56 ( 7.3) |
|
2A |
27 ( 3.5) |
|
2B |
18 ( 2.3) |
|
2C |
0 ( 0.0) |
|
3 |
33 ( 4.3) |
|
3A |
29 ( 3.8) |
|
3B |
22 ( 2.8) |
|
3C |
0 ( 0.0) |
|
4 |
158 ( 20.5) |
|
4A |
84 ( 10.9) |
|
4B |
84 ( 10.9) |
|
4C |
0 ( 0.0) |
|
N_A |
7 ( 0.9) |
|
99 |
153 ( 19.8) |
| TNM_PATH_T (%) |
N_A |
733 ( 94.9) |
|
p0 |
0 ( 0.0) |
|
p1 |
0 ( 0.0) |
|
p1A |
0 ( 0.0) |
|
p1B |
0 ( 0.0) |
|
p1C |
0 ( 0.0) |
|
p1MI |
0 ( 0.0) |
|
p2 |
1 ( 0.1) |
|
p2A |
0 ( 0.0) |
|
p2B |
0 ( 0.0) |
|
p3 |
0 ( 0.0) |
|
p3A |
0 ( 0.0) |
|
p3B |
0 ( 0.0) |
|
p4 |
0 ( 0.0) |
|
p4A |
0 ( 0.0) |
|
p4B |
0 ( 0.0) |
|
p4C |
0 ( 0.0) |
|
p4D |
0 ( 0.0) |
|
pA |
0 ( 0.0) |
|
pIS |
0 ( 0.0) |
|
pX |
9 ( 1.2) |
|
NA |
29 ( 3.8) |
| TNM_PATH_N (%) |
N_A |
733 ( 94.9) |
|
p0 |
0 ( 0.0) |
|
p0I- |
0 ( 0.0) |
|
p0I+ |
0 ( 0.0) |
|
p0M- |
0 ( 0.0) |
|
p0M+ |
0 ( 0.0) |
|
p1 |
0 ( 0.0) |
|
p1A |
0 ( 0.0) |
|
p1B |
0 ( 0.0) |
|
p1C |
0 ( 0.0) |
|
p1MI |
0 ( 0.0) |
|
p2 |
0 ( 0.0) |
|
p2A |
0 ( 0.0) |
|
p2B |
0 ( 0.0) |
|
p2C |
0 ( 0.0) |
|
p3 |
0 ( 0.0) |
|
p3A |
0 ( 0.0) |
|
p3B |
0 ( 0.0) |
|
p3C |
0 ( 0.0) |
|
pX |
10 ( 1.3) |
|
NA |
29 ( 3.8) |
| TNM_PATH_M (%) |
N_A |
718 ( 93.0) |
|
p1 |
0 ( 0.0) |
|
p1A |
0 ( 0.0) |
|
p1B |
0 ( 0.0) |
|
p1C |
0 ( 0.0) |
|
pX |
10 ( 1.3) |
|
NA |
44 ( 5.7) |
| TNM_PATH_STAGE_GROUP (%) |
0 |
0 ( 0.0) |
|
1 |
29 ( 3.8) |
|
1A |
16 ( 2.1) |
|
1B |
6 ( 0.8) |
|
1C |
0 ( 0.0) |
|
2 |
27 ( 3.5) |
|
2A |
6 ( 0.8) |
|
2B |
7 ( 0.9) |
|
2C |
0 ( 0.0) |
|
3 |
13 ( 1.7) |
|
3A |
6 ( 0.8) |
|
3B |
4 ( 0.5) |
|
3C |
0 ( 0.0) |
|
4 |
75 ( 9.7) |
|
4A |
26 ( 3.4) |
|
4B |
32 ( 4.1) |
|
4C |
0 ( 0.0) |
|
N_A |
7 ( 0.9) |
|
99 |
474 ( 61.4) |
|
NA |
44 ( 5.7) |
| DX_RX_STARTED_DAYS (mean (sd)) |
|
20.44 (34.48) |
| DX_SURG_STARTED_DAYS (mean (sd)) |
|
3.80 (14.20) |
| DX_DEFSURG_STARTED_DAYS (mean (sd)) |
|
4.09 (14.33) |
| MARGINS (%) |
No Residual |
2 ( 0.3) |
|
Residual, NOS |
1 ( 0.1) |
|
Microscopic Resid |
0 ( 0.0) |
|
Macroscopic Resid |
2 ( 0.3) |
|
Not evaluable |
4 ( 0.5) |
|
No surg |
456 ( 59.1) |
|
Unknown |
307 ( 39.8) |
| MARGINS_YN (%) |
No |
2 ( 0.3) |
|
Yes |
3 ( 0.4) |
|
No surg/Unk/NA |
767 ( 99.4) |
| SURG_DISCHARGE_DAYS (mean (sd)) |
|
6.35 (12.09) |
| READM_HOSP_30_DAYS_F (%) |
No_Surg_or_No_Readmit |
732 ( 94.8) |
|
Unplan_Readmit_Same |
8 ( 1.0) |
|
Plan_Readmit_Same |
3 ( 0.4) |
|
PlanUnplan_Same |
1 ( 0.1) |
|
9 |
28 ( 3.6) |
| RX_SUMM_RADIATION_F (%) |
None |
624 ( 80.8) |
|
Beam Radiation |
142 ( 18.4) |
|
Radioactive Implants |
0 ( 0.0) |
|
Radioisotopes |
0 ( 0.0) |
|
Beam + Imp or Isotopes |
0 ( 0.0) |
|
Radiation, NOS |
1 ( 0.1) |
|
Unknown |
5 ( 0.6) |
| PUF_30_DAY_MORT_CD_F (%) |
Alive_30 |
91 ( 11.8) |
|
Dead_30 |
10 ( 1.3) |
|
Unknown |
3 ( 0.4) |
|
NA |
668 ( 86.5) |
| PUF_90_DAY_MORT_CD_F (%) |
Alive_90 |
81 ( 10.5) |
|
Dead_90 |
20 ( 2.6) |
|
Unknown |
3 ( 0.4) |
|
NA |
668 ( 86.5) |
| DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) |
|
39.19 (43.36) |
| LYMPH_VASCULAR_INVASION_F (%) |
Neg_LymphVasc_Inv |
0 ( 0.0) |
|
Pos_LumphVasc_Inv |
0 ( 0.0) |
|
N_A |
316 ( 40.9) |
|
Unknown |
0 ( 0.0) |
|
NA |
456 ( 59.1) |
| RX_HOSP_SURG_APPR_2010_F (%) |
No_Surg |
101 ( 13.1) |
|
Robot_Assist |
0 ( 0.0) |
|
Robot_to_Open |
0 ( 0.0) |
|
Endo_Lap |
2 ( 0.3) |
|
Endo_Lap_to_Open |
0 ( 0.0) |
|
Open_Unknown |
12 ( 1.6) |
|
Unknown |
201 ( 26.0) |
|
NA |
456 ( 59.1) |
| SURG_RAD_SEQ (%) |
Surg Alone |
87 ( 11.3) |
|
Surg then Rad |
20 ( 2.6) |
|
Rad Alone |
95 ( 12.3) |
|
No Treatment |
514 ( 66.6) |
|
Other |
56 ( 7.3) |
|
Rad before and after Surg |
0 ( 0.0) |
|
Rad then Surg |
0 ( 0.0) |
| SURG_RAD_SEQ_C (%) |
Surg, No rad, No Chemo |
26 ( 3.4) |
|
Surg then Rad, No Chemo |
7 ( 0.9) |
|
Surg then Rad, Yes Chemo |
12 ( 1.6) |
|
Surg, No rad, Yes Chemo |
59 ( 7.6) |
|
No Surg, No Rad, Yes Chemo |
412 ( 53.4) |
|
No Surg, No Rad, No Chemo |
90 ( 11.7) |
|
Other |
73 ( 9.5) |
|
Rad, No Surg, Yes Chemo |
77 ( 10.0) |
|
Rad, No Surg, No Chemo |
16 ( 2.1) |
|
Rad then Surg, Yes Chemo |
0 ( 0.0) |
|
Rad then Surg, No Chemo |
0 ( 0.0) |
|
Rad before and after Surg, Yes Chemo |
0 ( 0.0) |
|
Rad before and after Surg, No Chemo |
0 ( 0.0) |
| SURGERY_YN (%) |
No |
639 ( 82.8) |
|
Ukn |
25 ( 3.2) |
|
Yes |
108 ( 14.0) |
| RADIATION_YN (%) |
No |
620 ( 80.3) |
|
Yes |
143 ( 18.5) |
|
NA |
9 ( 1.2) |
| CHEMO_YN (%) |
No |
151 ( 19.6) |
|
Yes |
601 ( 77.8) |
|
Ukn |
20 ( 2.6) |
| mets_at_dx (%) |
Bone |
0 ( 0.0) |
|
Brain |
0 ( 0.0) |
|
Liver |
0 ( 0.0) |
|
Lung |
0 ( 0.0) |
|
None/Other/Unk/NA |
772 (100.0) |
| MEDICAID_EXPN_CODE (%) |
Non-Expansion State |
148 ( 19.2) |
|
Jan 2014 Expansion States |
150 ( 19.4) |
|
Early Expansion States (2010-13) |
87 ( 11.3) |
|
Late Expansion States (> Jan 2014) |
47 ( 6.1) |
|
Suppressed for Ages 0 - 39 |
340 ( 44.0) |
| EXPN_GROUP (%) |
Exclude |
340 ( 44.0) |
|
Post-Expansion |
60 ( 7.8) |
|
Pre-Expansion |
372 ( 48.2) |
p_table(data,
vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY", "AGE", "AGE_F", "AGE_40",
"SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F",
"INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
"SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
"DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
"TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
"TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
"DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
"READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
"PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS",
"LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
"SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
"MEDICAID_EXPN_CODE", "EXPN_GROUP"))
p_table(no_Excludes,
vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY", "AGE", "AGE_F", "AGE_40",
"SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F",
"INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
"SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
"DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
"TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
"TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
"DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
"READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
"PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS",
"LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
"SURG_RAD_SEQ_C", "T_SIZE", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
"MEDICAID_EXPN_CODE"),
strata = "EXPN_GROUP")
| n |
|
144 |
562 |
|
|
| FACILITY_TYPE_F (%) |
Community Cancer Program |
2 ( 1.4) |
11 ( 2.0) |
<0.001 |
|
|
Comprehensive Comm Ca Program |
39 ( 27.1) |
211 ( 37.5) |
|
|
|
Academic/Research Program |
90 ( 62.5) |
231 ( 41.1) |
|
|
|
Integrated Network Ca Program |
13 ( 9.0) |
109 ( 19.4) |
|
|
| FACILITY_LOCATION_F (%) |
New England |
18 ( 12.5) |
18 ( 3.2) |
<0.001 |
|
|
Middle Atlantic |
31 ( 21.5) |
94 ( 16.7) |
|
|
|
South Atlantic |
7 ( 4.9) |
118 ( 21.0) |
|
|
|
East North Central |
14 ( 9.7) |
112 ( 19.9) |
|
|
|
East South Central |
4 ( 2.8) |
40 ( 7.1) |
|
|
|
West North Central |
24 ( 16.7) |
54 ( 9.6) |
|
|
|
West South Central |
0 ( 0.0) |
46 ( 8.2) |
|
|
|
Mountain |
2 ( 1.4) |
37 ( 6.6) |
|
|
|
Pacific |
44 ( 30.6) |
43 ( 7.7) |
|
|
| FACILITY_GEOGRAPHY (%) |
Northeast |
49 ( 34.0) |
112 ( 19.9) |
<0.001 |
|
|
South |
7 ( 4.9) |
164 ( 29.2) |
|
|
|
Midwest |
42 ( 29.2) |
206 ( 36.7) |
|
|
|
West |
46 ( 31.9) |
80 ( 14.2) |
|
|
| AGE (mean (sd)) |
|
70.54 (12.26) |
70.72 (11.57) |
0.869 |
|
| AGE_F (%) |
(0,54] |
14 ( 9.7) |
55 ( 9.8) |
0.802 |
|
|
(54,64] |
31 ( 21.5) |
115 ( 20.5) |
|
|
|
(64,74] |
48 ( 33.3) |
169 ( 30.1) |
|
|
|
(74,100] |
51 ( 35.4) |
223 ( 39.7) |
|
|
| AGE_40 (%) |
(0,40] |
0 ( 0.0) |
2 ( 0.4) |
1.000 |
|
|
(40,100] |
144 (100.0) |
560 ( 99.6) |
|
|
| SEX_F (%) |
Male |
29 ( 20.1) |
104 ( 18.5) |
0.743 |
|
|
Female |
115 ( 79.9) |
458 ( 81.5) |
|
|
| RACE_F (%) |
White |
127 ( 88.2) |
508 ( 90.4) |
0.360 |
|
|
Black |
4 ( 2.8) |
12 ( 2.1) |
|
|
|
Other/Unk |
2 ( 1.4) |
16 ( 2.8) |
|
|
|
Asian |
11 ( 7.6) |
26 ( 4.6) |
|
|
| HISPANIC (%) |
No |
138 ( 95.8) |
511 ( 90.9) |
0.096 |
|
|
Yes |
4 ( 2.8) |
20 ( 3.6) |
|
|
|
Unknown |
2 ( 1.4) |
31 ( 5.5) |
|
|
| INSURANCE_F (%) |
Private |
52 ( 36.1) |
187 ( 33.3) |
0.900 |
|
|
None |
2 ( 1.4) |
9 ( 1.6) |
|
|
|
Medicaid |
4 ( 2.8) |
12 ( 2.1) |
|
|
|
Medicare |
85 ( 59.0) |
352 ( 62.6) |
|
|
|
Other Government |
1 ( 0.7) |
2 ( 0.4) |
|
|
| INCOME_F (%) |
Less than $38,000 |
11 ( 7.6) |
71 ( 12.6) |
<0.001 |
|
|
$38,000 - $47,999 |
22 ( 15.3) |
145 ( 25.8) |
|
|
|
$48,000 - $62,999 |
32 ( 22.2) |
149 ( 26.5) |
|
|
|
$63,000 + |
78 ( 54.2) |
195 ( 34.7) |
|
|
|
NA |
1 ( 0.7) |
2 ( 0.4) |
|
|
| EDUCATION_F (%) |
21% or more |
21 ( 14.6) |
69 ( 12.3) |
0.656 |
|
|
13 - 20.9% |
28 ( 19.4) |
120 ( 21.4) |
|
|
|
7 - 12.9% |
48 ( 33.3) |
215 ( 38.3) |
|
|
|
Less than 7% |
46 ( 31.9) |
156 ( 27.8) |
|
|
|
NA |
1 ( 0.7) |
2 ( 0.4) |
|
|
| U_R_F (%) |
Metro |
121 ( 84.0) |
471 ( 83.8) |
0.049 |
|
|
Urban |
13 ( 9.0) |
67 ( 11.9) |
|
|
|
Rural |
2 ( 1.4) |
14 ( 2.5) |
|
|
|
NA |
8 ( 5.6) |
10 ( 1.8) |
|
|
| CROWFLY (mean (sd)) |
|
31.80 (96.50) |
32.75 (91.19) |
0.912 |
|
| CDCC_TOTAL_BEST (%) |
0 |
112 ( 77.8) |
445 ( 79.2) |
0.968 |
|
|
1 |
26 ( 18.1) |
92 ( 16.4) |
|
|
|
2 |
4 ( 2.8) |
16 ( 2.8) |
|
|
|
3 |
2 ( 1.4) |
9 ( 1.6) |
|
|
| SITE_TEXT (%) |
C44.2 External ear |
0 ( 0.0) |
1 ( 0.2) |
0.634 |
|
|
C44.3 Skin of ear and unspecified parts of face |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C44.4 Skin of scalp and neck |
1 ( 0.7) |
1 ( 0.2) |
|
|
|
C44.5 Skin of trunk |
29 ( 20.1) |
106 ( 18.9) |
|
|
|
C44.6 Skin of upper limb and shoulder |
2 ( 1.4) |
3 ( 0.5) |
|
|
|
C44.7 Skin of lower limb and hip |
2 ( 1.4) |
6 ( 1.1) |
|
|
|
C44.8 Overlapping lesion of skin |
1 ( 0.7) |
5 ( 0.9) |
|
|
|
C44.9 Skin, NOS |
2 ( 1.4) |
7 ( 1.2) |
|
|
|
C50.0 Nipple |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.0 Labium majus |
12 ( 8.3) |
42 ( 7.5) |
|
|
|
C51.1 Labium minus |
2 ( 1.4) |
8 ( 1.4) |
|
|
|
C51.2 Clitoris |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.8 Overlapping lesion of vulva |
3 ( 2.1) |
21 ( 3.7) |
|
|
|
C51.9 Vulva, NOS |
84 ( 58.3) |
348 ( 61.9) |
|
|
|
C60.8 Overlapping lesion of penis |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C60.9 Penis |
4 ( 2.8) |
12 ( 2.1) |
|
|
| HISTOLOGY_F_LIM (%) |
Other |
144 (100.0) |
562 (100.0) |
NA |
|
| HISTOLOGY_F (%) |
8542 |
144 (100.0) |
562 (100.0) |
NA |
|
| BEHAVIOR (%) |
3 |
144 (100.0) |
562 (100.0) |
NA |
|
| GRADE_F (%) |
Gr I: Well Diff |
5 ( 3.5) |
21 ( 3.7) |
0.885 |
|
|
Gr II: Mod Diff |
5 ( 3.5) |
13 ( 2.3) |
|
|
|
Gr III: Poor Diff |
3 ( 2.1) |
11 ( 2.0) |
|
|
|
NA/Unkown |
131 ( 91.0) |
517 ( 92.0) |
|
|
| DX_STAGING_PROC_DAYS (mean (sd)) |
|
1.36 (8.20) |
1.54 (13.80) |
0.890 |
|
| TNM_CLIN_T (%) |
c0 |
0 ( 0.0) |
2 ( 0.4) |
0.048 |
|
|
c1 |
18 ( 12.5) |
63 ( 11.2) |
|
|
|
c1A |
23 ( 16.0) |
74 ( 13.2) |
|
|
|
c1B |
32 ( 22.2) |
67 ( 11.9) |
|
|
|
c2 |
19 ( 13.2) |
75 ( 13.3) |
|
|
|
c3 |
0 ( 0.0) |
9 ( 1.6) |
|
|
|
c4 |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
cX |
45 ( 31.2) |
244 ( 43.4) |
|
|
|
pIS |
5 ( 3.5) |
16 ( 2.8) |
|
|
|
NA |
2 ( 1.4) |
11 ( 2.0) |
|
|
| TNM_CLIN_N (%) |
c0 |
126 ( 87.5) |
406 ( 72.2) |
0.001 |
|
|
c1 |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
c2C |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
cX |
17 ( 11.8) |
153 ( 27.2) |
|
|
|
NA |
0 ( 0.0) |
2 ( 0.4) |
|
|
| TNM_CLIN_M (%) |
c0 |
144 (100.0) |
562 (100.0) |
NA |
|
| TNM_CLIN_STAGE_GROUP (%) |
0 |
5 ( 3.5) |
32 ( 5.7) |
0.116 |
|
|
1 |
23 ( 16.0) |
90 ( 16.0) |
|
|
|
1A |
17 ( 11.8) |
57 ( 10.1) |
|
|
|
1B |
29 ( 20.1) |
60 ( 10.7) |
|
|
|
2 |
19 ( 13.2) |
75 ( 13.3) |
|
|
|
3 |
0 ( 0.0) |
5 ( 0.9) |
|
|
|
4 |
1 ( 0.7) |
1 ( 0.2) |
|
|
|
4A |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
4B |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
99 |
50 ( 34.7) |
240 ( 42.7) |
|
|
| TNM_PATH_T (%) |
p0 |
0 ( 0.0) |
4 ( 0.7) |
<0.001 |
|
|
p1 |
14 ( 9.7) |
37 ( 6.6) |
|
|
|
p1A |
23 ( 16.0) |
75 ( 13.3) |
|
|
|
p1B |
33 ( 22.9) |
72 ( 12.8) |
|
|
|
p2 |
12 ( 8.3) |
52 ( 9.3) |
|
|
|
p3 |
0 ( 0.0) |
5 ( 0.9) |
|
|
|
pIS |
2 ( 1.4) |
15 ( 2.7) |
|
|
|
pX |
29 ( 20.1) |
259 ( 46.1) |
|
|
|
NA |
31 ( 21.5) |
43 ( 7.7) |
|
|
| TNM_PATH_N (%) |
p0 |
30 ( 20.8) |
118 ( 21.0) |
<0.001 |
|
|
p1 |
0 ( 0.0) |
3 ( 0.5) |
|
|
|
p1B |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
p2C |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
pX |
70 ( 48.6) |
377 ( 67.1) |
|
|
|
NA |
43 ( 29.9) |
63 ( 11.2) |
|
|
| TNM_PATH_M (%) |
p1 |
0 ( 0.0) |
1 ( 0.2) |
<0.001 |
|
|
pX |
0 ( 0.0) |
255 ( 45.4) |
|
|
|
NA |
144 (100.0) |
306 ( 54.4) |
|
|
| TNM_PATH_STAGE_GROUP (%) |
0 |
2 ( 1.4) |
29 ( 5.2) |
<0.001 |
|
|
1 |
12 ( 8.3) |
46 ( 8.2) |
|
|
|
1A |
16 ( 11.1) |
48 ( 8.5) |
|
|
|
1B |
22 ( 15.3) |
37 ( 6.6) |
|
|
|
2 |
8 ( 5.6) |
42 ( 7.5) |
|
|
|
3 |
0 ( 0.0) |
8 ( 1.4) |
|
|
|
3A |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
4A |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
4B |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
99 |
65 ( 45.1) |
325 ( 57.8) |
|
|
|
NA |
18 ( 12.5) |
25 ( 4.4) |
|
|
| DX_RX_STARTED_DAYS (mean (sd)) |
|
49.87 (39.28) |
46.72 (169.07) |
0.830 |
|
| DX_SURG_STARTED_DAYS (mean (sd)) |
|
50.34 (40.61) |
45.44 (174.02) |
0.763 |
|
| DX_DEFSURG_STARTED_DAYS (mean (sd)) |
|
64.22 (81.18) |
56.07 (191.74) |
0.654 |
|
| MARGINS (%) |
No Residual |
59 ( 41.0) |
248 ( 44.1) |
0.096 |
|
|
Residual, NOS |
10 ( 6.9) |
67 ( 11.9) |
|
|
|
Microscopic Resid |
39 ( 27.1) |
152 ( 27.0) |
|
|
|
Macroscopic Resid |
2 ( 1.4) |
7 ( 1.2) |
|
|
|
Not evaluable |
4 ( 2.8) |
4 ( 0.7) |
|
|
|
No surg |
26 ( 18.1) |
66 ( 11.7) |
|
|
|
Unknown |
4 ( 2.8) |
18 ( 3.2) |
|
|
| MARGINS_YN (%) |
No |
59 ( 41.0) |
248 ( 44.1) |
0.077 |
|
|
Yes |
51 ( 35.4) |
226 ( 40.2) |
|
|
|
No surg/Unk/NA |
34 ( 23.6) |
88 ( 15.7) |
|
|
| SURG_DISCHARGE_DAYS (mean (sd)) |
|
1.57 (4.00) |
1.77 (6.61) |
0.756 |
|
| READM_HOSP_30_DAYS_F (%) |
No_Surg_or_No_Readmit |
137 ( 95.1) |
529 ( 94.1) |
0.349 |
|
|
Unplan_Readmit_Same |
2 ( 1.4) |
18 ( 3.2) |
|
|
|
Plan_Readmit_Same |
4 ( 2.8) |
6 ( 1.1) |
|
|
|
PlanUnplan_Same |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
9 |
1 ( 0.7) |
8 ( 1.4) |
|
|
| RX_SUMM_RADIATION_F (%) |
None |
138 ( 95.8) |
528 ( 94.0) |
0.149 |
|
|
Beam Radiation |
4 ( 2.8) |
27 ( 4.8) |
|
|
|
Radioactive Implants |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
Unknown |
1 ( 0.7) |
7 ( 1.2) |
|
|
| PUF_30_DAY_MORT_CD_F (%) |
Alive_30 |
111 ( 77.1) |
484 ( 86.1) |
0.015 |
|
|
Dead_30 |
1 ( 0.7) |
3 ( 0.5) |
|
|
|
Unknown |
6 ( 4.2) |
6 ( 1.1) |
|
|
|
NA |
26 ( 18.1) |
69 ( 12.3) |
|
|
| PUF_90_DAY_MORT_CD_F (%) |
Alive_90 |
110 ( 76.4) |
476 ( 84.7) |
0.093 |
|
|
Dead_90 |
1 ( 0.7) |
4 ( 0.7) |
|
|
|
Unknown |
7 ( 4.9) |
13 ( 2.3) |
|
|
|
NA |
26 ( 18.1) |
69 ( 12.3) |
|
|
| DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) |
|
30.92 (21.03) |
60.22 (38.34) |
<0.001 |
|
| LYMPH_VASCULAR_INVASION_F (%) |
Neg_LymphVasc_Inv |
44 ( 30.6) |
128 ( 22.8) |
<0.001 |
|
|
Pos_LumphVasc_Inv |
4 ( 2.8) |
9 ( 1.6) |
|
|
|
N_A |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
Unknown |
95 ( 66.0) |
170 ( 30.2) |
|
|
|
NA |
0 ( 0.0) |
255 ( 45.4) |
|
|
| RX_HOSP_SURG_APPR_2010_F (%) |
No_Surg |
26 ( 18.1) |
34 ( 6.0) |
<0.001 |
|
|
Robot_Assist |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
Endo_Lap |
3 ( 2.1) |
11 ( 2.0) |
|
|
|
Endo_Lap_to_Open |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
Open_Unknown |
115 ( 79.9) |
260 ( 46.3) |
|
|
|
NA |
0 ( 0.0) |
255 ( 45.4) |
|
|
| SURG_RAD_SEQ (%) |
Surg Alone |
115 ( 79.9) |
485 ( 86.3) |
0.013 |
|
|
Surg then Rad |
2 ( 1.4) |
4 ( 0.7) |
|
|
|
Rad Alone |
3 ( 2.1) |
23 ( 4.1) |
|
|
|
No Treatment |
23 ( 16.0) |
41 ( 7.3) |
|
|
|
Other |
1 ( 0.7) |
9 ( 1.6) |
|
|
| SURG_RAD_SEQ_C (%) |
Surg, No rad, No Chemo |
112 ( 77.8) |
471 ( 83.8) |
0.060 |
|
|
Surg then Rad, No Chemo |
2 ( 1.4) |
4 ( 0.7) |
|
|
|
Surg, No rad, Yes Chemo |
1 ( 0.7) |
4 ( 0.7) |
|
|
|
No Surg, No Rad, Yes Chemo |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
No Surg, No Rad, No Chemo |
21 ( 14.6) |
41 ( 7.3) |
|
|
|
Other |
4 ( 2.8) |
19 ( 3.4) |
|
|
|
Rad, No Surg, Yes Chemo |
0 ( 0.0) |
2 ( 0.4) |
|
|
|
Rad, No Surg, No Chemo |
3 ( 2.1) |
21 ( 3.7) |
|
|
| T_SIZE (%) |
Microscopic focus |
3 ( 2.1) |
9 ( 1.6) |
0.098 |
|
|
< 1 cm |
12 ( 8.3) |
52 ( 9.3) |
|
|
|
1-2 cm |
5 ( 3.5) |
48 ( 8.5) |
|
|
|
2-3 cm |
14 ( 9.7) |
39 ( 6.9) |
|
|
|
3-4 cm |
11 ( 7.6) |
57 ( 10.1) |
|
|
|
4-5 cm |
16 ( 11.1) |
28 ( 5.0) |
|
|
|
5-6 cm |
7 ( 4.9) |
28 ( 5.0) |
|
|
|
>6 cm |
20 ( 13.9) |
69 ( 12.3) |
|
|
|
NA_unk |
56 ( 38.9) |
232 ( 41.3) |
|
|
| SURGERY_YN (%) |
No |
26 ( 18.1) |
64 ( 11.4) |
0.072 |
|
|
Ukn |
0 ( 0.0) |
3 ( 0.5) |
|
|
|
Yes |
118 ( 81.9) |
495 ( 88.1) |
|
|
| RADIATION_YN (%) |
No |
138 ( 95.8) |
528 ( 94.0) |
0.671 |
|
|
Yes |
5 ( 3.5) |
27 ( 4.8) |
|
|
|
NA |
1 ( 0.7) |
7 ( 1.2) |
|
|
| CHEMO_YN (%) |
No |
139 ( 96.5) |
542 ( 96.4) |
0.912 |
|
|
Yes |
2 ( 1.4) |
6 ( 1.1) |
|
|
|
Ukn |
3 ( 2.1) |
14 ( 2.5) |
|
|
| mets_at_dx (%) |
None/Other/Unk/NA |
144 (100.0) |
562 (100.0) |
NA |
|
| MEDICAID_EXPN_CODE (%) |
Non-Expansion State |
0 ( 0.0) |
244 ( 43.4) |
<0.001 |
|
|
Jan 2014 Expansion States |
68 ( 47.2) |
172 ( 30.6) |
|
|
|
Early Expansion States (2010-13) |
76 ( 52.8) |
44 ( 7.8) |
|
|
|
Late Expansion States (> Jan 2014) |
0 ( 0.0) |
102 ( 18.1) |
|
|
preExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion" & INSURANCE_F == "Medicare"))
postExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion" & INSURANCE_F == "Medicare"))
# p = 0.25 when comparing change in proportion of patients with Medicare before and after ACA expansion
prop.test(c(preExpMedicare, postExpMedicare),
c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))
2-sample test for equality of proportions with continuity correction
data: c(preExpMedicare, postExpMedicare) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpMedicare, postExpMedicare) out of filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 1.1067, df = 1, p-value = 0.2928
alternative hypothesis: two.sided
95 percent confidence interval:
-0.05415601 0.21329579
sample estimates:
prop 1 prop 2
0.3629032 0.2833333
preExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion") %>%
filter(INSURANCE_F == "None"))
postExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion") %>%
filter(INSURANCE_F == "None"))
# Significant decrease in the overall proportion of patients without insurance after ACA expansion
prop.test(c(preExpNoInsurance, postExpNoInsurance),
c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))
Chi-squared approximation may be incorrect
2-sample test for equality of proportions with continuity correction
data: c(preExpNoInsurance, postExpNoInsurance) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpNoInsurance, postExpNoInsurance) out of filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 1.4465e-30, df = 1, p-value = 1
alternative hypothesis: two.sided
95 percent confidence interval:
-0.05992657 0.07282980
sample estimates:
prop 1 prop 2
0.05645161 0.05000000
p_table(no_Excludes, strata = "EXPN_GROUP", vars = "DX_RX_STARTED_DAYS")
| n |
|
144 |
562 |
|
|
| DX_RX_STARTED_DAYS (mean (sd)) |
|
49.87 (39.28) |
46.72 (169.07) |
0.830 |
|
data <- data %>% mutate(Insured = INSURANCE_F != "Unknown")
Kaplan Meier Analysis
All
uni_var(test_var = "All", data_imp = data)
_________________________________________________
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ All, data = data)
n events median 0.95LCL 0.95UCL
772.0 417.0 27.7 24.1 38.5
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ All, data = data)
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 467 253 0.660 0.0174 0.626 0.695
24 356 85 0.536 0.0186 0.501 0.574
36 280 42 0.471 0.0189 0.435 0.509
48 236 12 0.450 0.0190 0.414 0.489
60 210 5 0.440 0.0191 0.404 0.479
120 63 19 0.388 0.0205 0.349 0.430
## Univariable Cox Proportional Hazard Model for: All
[1] "Only one level, no Cox model performed"
## Unadjusted Kaplan Meier Overall Survival Curve for: All



Facility Type
uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
340 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program 22 14 18.37 4.50 NA
FACILITY_TYPE_F=Comprehensive Comm Ca Program 133 91 12.29 7.95 18.3
FACILITY_TYPE_F=Academic/Research Program 230 163 15.44 12.42 21.1
FACILITY_TYPE_F=Integrated Network Ca Program 47 36 8.94 4.63 21.5
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
340 observations deleted due to missingness
FACILITY_TYPE_F=Community Cancer Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 10 9 0.528 0.115 0.345 0.807
24 7 2 0.410 0.115 0.237 0.712
36 4 3 0.235 0.101 0.101 0.546
48 4 0 0.235 0.101 0.101 0.546
60 3 0 0.235 0.101 0.101 0.546
120 1 0 0.235 0.101 0.101 0.546
FACILITY_TYPE_F=Comprehensive Comm Ca Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 58 64 0.500 0.0444 0.420 0.595
24 40 17 0.351 0.0435 0.275 0.448
36 30 5 0.304 0.0425 0.231 0.400
48 28 1 0.294 0.0423 0.221 0.389
60 27 0 0.294 0.0423 0.221 0.389
120 7 3 0.256 0.0422 0.185 0.354
FACILITY_TYPE_F=Academic/Research Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 123 94 0.580 0.0332 0.518 0.649
24 82 35 0.411 0.0336 0.350 0.482
36 59 16 0.329 0.0326 0.271 0.399
48 41 8 0.282 0.0319 0.226 0.352
60 36 2 0.268 0.0319 0.212 0.338
120 10 8 0.185 0.0337 0.130 0.265
FACILITY_TYPE_F=Integrated Network Ca Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 17 25 0.438 0.0749 0.3135 0.613
24 10 6 0.279 0.0706 0.1701 0.458
36 8 2 0.223 0.0666 0.1245 0.401
48 7 0 0.223 0.0666 0.1245 0.401
60 6 1 0.191 0.0643 0.0991 0.370
## Univariable Cox Proportional Hazard Model for: FACILITY_TYPE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
n= 432, number of events= 304
(340 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_TYPE_FComprehensive Comm Ca Program -0.03307 0.96747 0.28722 -0.115 0.908
FACILITY_TYPE_FAcademic/Research Program -0.07515 0.92760 0.27858 -0.270 0.787
FACILITY_TYPE_FIntegrated Network Ca Program 0.29227 1.33947 0.31525 0.927 0.354
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program 0.9675 1.0336 0.5510 1.699
FACILITY_TYPE_FAcademic/Research Program 0.9276 1.0780 0.5373 1.601
FACILITY_TYPE_FIntegrated Network Ca Program 1.3395 0.7466 0.7221 2.485
Concordance= 0.532 (se = 0.016 )
Rsquare= 0.008 (max possible= 1 )
Likelihood ratio test= 3.69 on 3 df, p=0.2975
Wald test = 4.01 on 3 df, p=0.2608
Score (logrank) test = 4.05 on 3 df, p=0.2565
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_TYPE_F



Facility Location
uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
340 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England 18 11 27.5 5.03 NA
FACILITY_LOCATION_F=Middle Atlantic 74 54 12.1 9.40 20.7
FACILITY_LOCATION_F=South Atlantic 93 68 14.7 8.74 22.4
FACILITY_LOCATION_F=East North Central 70 45 19.3 8.34 68.3
FACILITY_LOCATION_F=East South Central 22 18 12.6 6.14 38.9
FACILITY_LOCATION_F=West North Central 43 31 10.4 5.39 24.2
FACILITY_LOCATION_F=West South Central 39 26 12.2 8.57 51.3
FACILITY_LOCATION_F=Mountain 11 4 NA 5.65 NA
FACILITY_LOCATION_F=Pacific 62 47 15.0 9.79 26.6
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
340 observations deleted due to missingness
FACILITY_LOCATION_F=New England
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 10 7 0.611 0.115 0.423 0.883
24 9 1 0.550 0.119 0.360 0.839
36 4 3 0.326 0.124 0.155 0.685
48 3 0 0.326 0.124 0.155 0.685
60 3 0 0.326 0.124 0.155 0.685
FACILITY_LOCATION_F=Middle Atlantic
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 37 36 0.505 0.0587 0.402 0.634
24 23 12 0.334 0.0559 0.240 0.464
36 17 3 0.290 0.0540 0.202 0.418
48 15 1 0.273 0.0534 0.186 0.401
60 13 0 0.273 0.0534 0.186 0.401
120 5 2 0.229 0.0532 0.146 0.361
FACILITY_LOCATION_F=South Atlantic
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 42 40 0.545 0.0534 0.4497 0.660
24 25 15 0.344 0.0533 0.2541 0.466
36 19 5 0.274 0.0509 0.1905 0.394
48 14 2 0.244 0.0496 0.1635 0.363
60 13 1 0.226 0.0490 0.1480 0.346
120 3 5 0.127 0.0440 0.0641 0.250
FACILITY_LOCATION_F=East North Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 37 27 0.598 0.0600 0.491 0.728
24 25 9 0.452 0.0621 0.345 0.591
36 19 4 0.378 0.0619 0.275 0.521
48 15 1 0.356 0.0621 0.253 0.501
60 15 0 0.356 0.0621 0.253 0.501
120 3 3 0.237 0.0740 0.129 0.437
FACILITY_LOCATION_F=East South Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 11 11 0.500 0.1066 0.3292 0.759
24 8 3 0.364 0.1026 0.2092 0.632
36 7 1 0.318 0.0993 0.1726 0.587
48 5 2 0.227 0.0893 0.1052 0.491
60 5 0 0.227 0.0893 0.1052 0.491
120 1 1 0.182 0.0822 0.0749 0.441
FACILITY_LOCATION_F=West North Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 17 22 0.466 0.0790 0.335 0.650
24 12 5 0.329 0.0759 0.209 0.517
36 10 2 0.274 0.0725 0.163 0.460
48 8 1 0.247 0.0702 0.141 0.431
60 7 1 0.216 0.0679 0.117 0.400
120 2 0 0.216 0.0679 0.117 0.400
FACILITY_LOCATION_F=West South Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 15 17 0.516 0.0861 0.3719 0.715
24 11 4 0.378 0.0863 0.2418 0.592
36 8 2 0.306 0.0837 0.1786 0.523
48 7 0 0.306 0.0837 0.1786 0.523
60 6 1 0.262 0.0824 0.1414 0.485
120 1 2 0.146 0.0796 0.0498 0.425
FACILITY_LOCATION_F=Mountain
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 5 4 0.606 0.154 0.368 0.998
24 4 0 0.606 0.154 0.368 0.998
36 3 0 0.606 0.154 0.368 0.998
48 2 0 0.606 0.154 0.368 0.998
60 2 0 0.606 0.154 0.368 0.998
FACILITY_LOCATION_F=Pacific
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 34 28 0.548 0.0632 0.438 0.687
24 22 11 0.366 0.0616 0.263 0.509
36 14 6 0.263 0.0569 0.172 0.402
48 11 2 0.222 0.0549 0.137 0.361
60 8 0 0.222 0.0549 0.137 0.361
120 3 0 0.222 0.0549 0.137 0.361
## Univariable Cox Proportional Hazard Model for: FACILITY_LOCATION_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
n= 432, number of events= 304
(340 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_LOCATION_FMiddle Atlantic 0.2710 1.3113 0.3311 0.818 0.413
FACILITY_LOCATION_FSouth Atlantic 0.3769 1.4578 0.3252 1.159 0.246
FACILITY_LOCATION_FEast North Central 0.1597 1.1732 0.3365 0.475 0.635
FACILITY_LOCATION_FEast South Central 0.3506 1.4199 0.3831 0.915 0.360
FACILITY_LOCATION_FWest North Central 0.4079 1.5036 0.3513 1.161 0.246
FACILITY_LOCATION_FWest South Central 0.3003 1.3503 0.3599 0.834 0.404
FACILITY_LOCATION_FMountain -0.4455 0.6405 0.5840 -0.763 0.446
FACILITY_LOCATION_FPacific 0.2911 1.3379 0.3351 0.869 0.385
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic 1.3113 0.7626 0.6853 2.509
FACILITY_LOCATION_FSouth Atlantic 1.4578 0.6860 0.7707 2.758
FACILITY_LOCATION_FEast North Central 1.1732 0.8524 0.6066 2.269
FACILITY_LOCATION_FEast South Central 1.4199 0.7043 0.6701 3.009
FACILITY_LOCATION_FWest North Central 1.5036 0.6651 0.7553 2.993
FACILITY_LOCATION_FWest South Central 1.3503 0.7406 0.6669 2.734
FACILITY_LOCATION_FMountain 0.6405 1.5612 0.2039 2.012
FACILITY_LOCATION_FPacific 1.3379 0.7474 0.6938 2.580
Concordance= 0.529 (se = 0.018 )
Rsquare= 0.013 (max possible= 1 )
Likelihood ratio test= 5.54 on 8 df, p=0.6984
Wald test = 4.86 on 8 df, p=0.772
Score (logrank) test = 4.99 on 8 df, p=0.7589
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_LOCATION_F



Facility Geography
uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
340 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 92 65 12.4 9.89 23.6
FACILITY_GEOGRAPHY=South 132 94 14.3 9.59 21.5
FACILITY_GEOGRAPHY=Midwest 135 94 13.0 8.34 20.8
FACILITY_GEOGRAPHY=West 73 51 15.3 9.79 27.0
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
340 observations deleted due to missingness
FACILITY_GEOGRAPHY=Northeast
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 47 43 0.526 0.0525 0.433 0.640
24 32 13 0.376 0.0515 0.287 0.491
36 21 6 0.301 0.0496 0.218 0.416
48 18 1 0.287 0.0492 0.205 0.402
60 16 0 0.287 0.0492 0.205 0.402
120 5 2 0.248 0.0497 0.168 0.367
FACILITY_GEOGRAPHY=South
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 57 57 0.537 0.0454 0.4546 0.633
24 36 19 0.354 0.0454 0.2751 0.455
36 27 7 0.282 0.0435 0.2088 0.382
48 21 2 0.261 0.0428 0.1890 0.360
60 19 2 0.236 0.0422 0.1662 0.335
120 4 7 0.131 0.0390 0.0728 0.234
FACILITY_GEOGRAPHY=Midwest
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 65 60 0.539 0.0439 0.460 0.633
24 45 17 0.398 0.0438 0.321 0.494
36 36 7 0.336 0.0428 0.261 0.431
48 28 4 0.296 0.0421 0.224 0.391
60 27 1 0.285 0.0419 0.214 0.381
120 6 4 0.223 0.0437 0.152 0.327
FACILITY_GEOGRAPHY=West
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 39 32 0.557 0.0586 0.453 0.684
24 26 11 0.391 0.0587 0.292 0.525
36 17 6 0.297 0.0559 0.206 0.430
48 13 2 0.260 0.0547 0.172 0.393
60 10 0 0.260 0.0547 0.172 0.393
120 3 0 0.260 0.0547 0.172 0.393
## Univariable Cox Proportional Hazard Model for: FACILITY_GEOGRAPHY
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
n= 432, number of events= 304
(340 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_GEOGRAPHYSouth 0.13556 1.14517 0.16138 0.840 0.401
FACILITY_GEOGRAPHYMidwest 0.05184 1.05321 0.16139 0.321 0.748
FACILITY_GEOGRAPHYWest -0.01028 0.98977 0.18712 -0.055 0.956
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth 1.1452 0.8732 0.8346 1.571
FACILITY_GEOGRAPHYMidwest 1.0532 0.9495 0.7676 1.445
FACILITY_GEOGRAPHYWest 0.9898 1.0103 0.6859 1.428
Concordance= 0.513 (se = 0.017 )
Rsquare= 0.002 (max possible= 1 )
Likelihood ratio test= 1.02 on 3 df, p=0.7973
Wald test = 1.02 on 3 df, p=0.7956
Score (logrank) test = 1.02 on 3 df, p=0.7953
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_GEOGRAPHY



Age Group
uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
n events median 0.95LCL 0.95UCL
AGE_F=(0,54] 510 210 NA 68.27 NA
AGE_F=(54,64] 96 71 18.37 11.47 26.87
AGE_F=(64,74] 94 68 12.42 7.26 19.35
AGE_F=(74,100] 72 68 3.22 2.23 5.52
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
AGE_F=(0,54]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 359 112 0.770 0.0191 0.733 0.808
24 284 53 0.653 0.0220 0.611 0.697
36 229 26 0.591 0.0230 0.548 0.638
48 199 5 0.577 0.0233 0.534 0.625
60 177 3 0.568 0.0235 0.524 0.616
120 57 11 0.522 0.0257 0.474 0.575
AGE_F=(54,64]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 50 38 0.583 0.0519 0.490 0.695
24 37 12 0.443 0.0530 0.350 0.560
36 22 12 0.293 0.0498 0.210 0.408
48 16 3 0.251 0.0481 0.172 0.366
60 12 2 0.218 0.0471 0.143 0.333
120 1 4 0.140 0.0440 0.076 0.259
AGE_F=(64,74]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 45 46 0.504 0.0520 0.412 0.617
24 27 15 0.330 0.0499 0.245 0.444
36 22 3 0.292 0.0487 0.211 0.405
48 18 1 0.279 0.0483 0.198 0.391
60 18 0 0.279 0.0483 0.198 0.391
120 4 2 0.242 0.0485 0.163 0.358
AGE_F=(74,100]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 13 57 0.1945 0.0473 0.12077 0.313
24 8 5 0.1197 0.0392 0.06301 0.227
36 7 1 0.1048 0.0371 0.05237 0.210
48 3 3 0.0599 0.0288 0.02328 0.154
60 3 0 0.0599 0.0288 0.02328 0.154
120 1 2 0.0200 0.0189 0.00311 0.128
## Univariable Cox Proportional Hazard Model for: AGE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
AGE_F(54,64] 0.8775 2.4049 0.1379 6.364 1.97e-10 ***
AGE_F(64,74] 0.9283 2.5303 0.1399 6.635 3.25e-11 ***
AGE_F(74,100] 1.7739 5.8935 0.1425 12.450 < 2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64] 2.405 0.4158 1.835 3.151
AGE_F(64,74] 2.530 0.3952 1.923 3.329
AGE_F(74,100] 5.894 0.1697 4.458 7.792
Concordance= 0.645 (se = 0.012 )
Rsquare= 0.176 (max possible= 0.999 )
Likelihood ratio test= 149.8 on 3 df, p=0
Wald test = 174.7 on 3 df, p=0
Score (logrank) test = 207.2 on 3 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: AGE_F



Age Group
uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
n events median 0.95LCL 0.95UCL
AGE_40=(0,40] 349 118 NA NA NA
AGE_40=(40,100] 423 299 13.6 11.4 17.1
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
AGE_40=(0,40]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 265 64 0.809 0.0215 0.768 0.852
24 220 27 0.724 0.0247 0.677 0.774
36 179 16 0.669 0.0264 0.619 0.723
48 156 3 0.657 0.0268 0.606 0.712
60 138 2 0.648 0.0272 0.597 0.704
120 45 6 0.609 0.0301 0.553 0.671
AGE_40=(40,100]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 202 189 0.536 0.0248 0.489 0.587
24 136 58 0.379 0.0247 0.334 0.431
36 101 26 0.305 0.0238 0.262 0.355
48 80 9 0.277 0.0234 0.234 0.326
60 72 3 0.266 0.0233 0.224 0.316
120 18 13 0.204 0.0239 0.162 0.256
## Univariable Cox Proportional Hazard Model for: AGE_40
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
AGE_40(40,100] 1.1461 3.1460 0.1096 10.46 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100] 3.146 0.3179 2.538 3.9
Concordance= 0.631 (se = 0.013 )
Rsquare= 0.147 (max possible= 0.999 )
Likelihood ratio test= 122.9 on 1 df, p=0
Wald test = 109.4 on 1 df, p=0
Score (logrank) test = 121.2 on 1 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: AGE_40



Gender
uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
n events median 0.95LCL 0.95UCL
SEX_F=Male 516 269 34.1 25.2 64.4
SEX_F=Female 256 148 20.7 14.7 34.8
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
SEX_F=Male
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 331 151 0.696 0.0207 0.656 0.738
24 257 60 0.567 0.0226 0.525 0.613
36 198 32 0.494 0.0231 0.451 0.542
48 163 8 0.473 0.0233 0.430 0.521
60 144 4 0.461 0.0235 0.417 0.509
120 43 13 0.405 0.0256 0.357 0.458
SEX_F=Female
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 136 102 0.586 0.0315 0.527 0.651
24 99 25 0.473 0.0326 0.413 0.541
36 82 10 0.423 0.0327 0.364 0.493
48 73 4 0.402 0.0327 0.343 0.472
60 66 1 0.397 0.0328 0.338 0.466
120 20 6 0.353 0.0340 0.292 0.426
## Univariable Cox Proportional Hazard Model for: SEX_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
SEX_FFemale 0.2399 1.2711 0.1024 2.343 0.0191 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale 1.271 0.7867 1.04 1.554
Concordance= 0.535 (se = 0.012 )
Rsquare= 0.007 (max possible= 0.999 )
Likelihood ratio test= 5.35 on 1 df, p=0.0207
Wald test = 5.49 on 1 df, p=0.01915
Score (logrank) test = 5.51 on 1 df, p=0.01886
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: SEX_F



RACE_F
uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
n events median 0.95LCL 0.95UCL
RACE_F=White 607 321 31.0 24.2 59.9
RACE_F=Black 106 66 18.8 12.2 34.3
RACE_F=Other/Unk 23 9 NA 15.0 NA
RACE_F=Asian 36 21 38.0 13.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
RACE_F=White
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 369 193 0.669 0.0196 0.631 0.708
24 284 66 0.546 0.0210 0.506 0.589
36 227 32 0.483 0.0214 0.443 0.526
48 194 7 0.467 0.0215 0.427 0.511
60 172 5 0.454 0.0216 0.414 0.499
120 50 18 0.392 0.0235 0.348 0.441
RACE_F=Black
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 60 41 0.603 0.0483 0.516 0.706
24 43 14 0.460 0.0497 0.372 0.568
36 29 8 0.370 0.0492 0.285 0.480
48 23 2 0.343 0.0491 0.259 0.454
60 22 0 0.343 0.0491 0.259 0.454
120 7 1 0.324 0.0499 0.240 0.439
RACE_F=Other/Unk
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 15 7 0.685 0.0988 0.516 0.909
24 13 1 0.639 0.1022 0.467 0.874
36 11 1 0.590 0.1055 0.416 0.838
48 9 0 0.590 0.1055 0.416 0.838
60 7 0 0.590 0.1055 0.416 0.838
120 3 0 0.590 0.1055 0.416 0.838
RACE_F=Asian
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 23 12 0.659 0.0800 0.519 0.836
24 16 4 0.535 0.0860 0.390 0.733
36 13 1 0.501 0.0868 0.357 0.704
48 10 3 0.386 0.0888 0.245 0.606
60 9 0 0.386 0.0888 0.245 0.606
120 3 0 0.386 0.0888 0.245 0.606
## Univariable Cox Proportional Hazard Model for: RACE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
RACE_FBlack 0.2346 1.2645 0.1353 1.735 0.0828 .
RACE_FOther/Unk -0.3943 0.6742 0.3380 -1.167 0.2434
RACE_FAsian 0.0603 1.0621 0.2253 0.268 0.7890
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack 1.2645 0.7909 0.9700 1.648
RACE_FOther/Unk 0.6742 1.4833 0.3476 1.308
RACE_FAsian 1.0622 0.9415 0.6830 1.652
Concordance= 0.517 (se = 0.011 )
Rsquare= 0.006 (max possible= 0.999 )
Likelihood ratio test= 4.76 on 3 df, p=0.1903
Wald test = 4.69 on 3 df, p=0.1963
Score (logrank) test = 4.73 on 3 df, p=0.1924
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: RACE_F



Hispanic
uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
n events median 0.95LCL 0.95UCL
HISPANIC=No 601 324 29.8 24.21 48.1
HISPANIC=Yes 125 62 32.9 15.01 NA
HISPANIC=Unknown 46 31 14.7 5.52 34.3
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
HISPANIC=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 377 189 0.675 0.0195 0.638 0.714
24 287 70 0.546 0.0210 0.507 0.589
36 230 33 0.482 0.0213 0.442 0.526
48 195 12 0.456 0.0214 0.416 0.500
60 174 5 0.444 0.0215 0.404 0.488
120 52 14 0.398 0.0228 0.355 0.445
HISPANIC=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 66 44 0.623 0.0452 0.540 0.718
24 53 7 0.552 0.0473 0.467 0.653
36 39 6 0.484 0.0490 0.397 0.591
48 31 0 0.484 0.0490 0.397 0.591
60 27 0 0.484 0.0490 0.397 0.591
120 7 5 0.364 0.0609 0.262 0.505
HISPANIC=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 24 20 0.558 0.0742 0.430 0.724
24 16 8 0.372 0.0730 0.253 0.546
36 11 3 0.299 0.0698 0.189 0.472
48 10 0 0.299 0.0698 0.189 0.472
60 9 0 0.299 0.0698 0.189 0.472
120 4 0 0.299 0.0698 0.189 0.472
## Univariable Cox Proportional Hazard Model for: HISPANIC
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
HISPANICYes 0.02606 1.02641 0.13869 0.188 0.8509
HISPANICUnknown 0.41562 1.51531 0.18812 2.209 0.0272 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes 1.026 0.9743 0.7821 1.347
HISPANICUnknown 1.515 0.6599 1.0480 2.191
Concordance= 0.518 (se = 0.01 )
Rsquare= 0.006 (max possible= 0.999 )
Likelihood ratio test= 4.36 on 2 df, p=0.113
Wald test = 4.89 on 2 df, p=0.08686
Score (logrank) test = 4.96 on 2 df, p=0.08392
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: HISPANIC



Insurance Status
uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
n events median 0.95LCL 0.95UCL
INSURANCE_F=Private 403 195 60.98 34.83 NA
INSURANCE_F=None 56 27 19.32 12.19 NA
INSURANCE_F=Medicaid 119 53 99.06 24.64 NA
INSURANCE_F=Medicare 161 125 7.26 5.52 10.4
INSURANCE_F=Other Government 12 8 17.38 11.20 NA
INSURANCE_F=Unknown 21 9 NA 33.28 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
INSURANCE_F=Private
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 281 98 0.749 0.0220 0.707 0.793
24 222 46 0.623 0.0249 0.577 0.674
36 180 27 0.546 0.0259 0.498 0.599
48 155 8 0.520 0.0262 0.472 0.574
60 142 4 0.507 0.0264 0.458 0.561
120 44 12 0.452 0.0283 0.400 0.511
INSURANCE_F=None
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 27 17 0.646 0.0700 0.523 0.799
24 19 7 0.472 0.0760 0.345 0.648
36 15 1 0.443 0.0768 0.315 0.622
48 11 1 0.409 0.0781 0.281 0.594
60 8 0 0.409 0.0781 0.281 0.594
120 4 1 0.350 0.0860 0.217 0.567
INSURANCE_F=Medicaid
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 81 33 0.715 0.0420 0.637 0.802
24 58 13 0.592 0.0466 0.508 0.691
36 44 4 0.548 0.0482 0.461 0.651
48 38 1 0.535 0.0486 0.448 0.640
60 30 0 0.535 0.0486 0.448 0.640
120 7 2 0.472 0.0599 0.368 0.606
INSURANCE_F=Medicare
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 58 96 0.387 0.0391 0.317 0.471
24 40 16 0.277 0.0364 0.214 0.359
36 30 7 0.228 0.0344 0.170 0.307
48 22 2 0.213 0.0337 0.156 0.290
60 21 0 0.213 0.0337 0.156 0.290
120 5 3 0.175 0.0342 0.119 0.257
INSURANCE_F=Other Government
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 4 0.642 0.144 0.4132 0.996
24 4 2 0.428 0.156 0.2089 0.876
36 2 1 0.321 0.149 0.1287 0.800
48 2 0 0.321 0.149 0.1287 0.800
60 1 1 0.160 0.136 0.0305 0.843
INSURANCE_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 5 0.762 0.0929 0.600 0.968
24 13 1 0.707 0.1010 0.535 0.936
36 9 2 0.584 0.1154 0.396 0.860
48 8 0 0.584 0.1154 0.396 0.860
60 8 0 0.584 0.1154 0.396 0.860
120 3 1 0.511 0.1218 0.320 0.815
## Univariable Cox Proportional Hazard Model for: INSURANCE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
INSURANCE_FNone 0.34026 1.40531 0.20561 1.655 0.0979 .
INSURANCE_FMedicaid -0.01693 0.98321 0.15496 -0.109 0.9130
INSURANCE_FMedicare 0.98589 2.68019 0.11544 8.540 <2e-16 ***
INSURANCE_FOther Government 0.53287 1.70382 0.36103 1.476 0.1399
INSURANCE_FUnknown -0.15051 0.86027 0.34098 -0.441 0.6589
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone 1.4053 0.7116 0.9392 2.103
INSURANCE_FMedicaid 0.9832 1.0171 0.7257 1.332
INSURANCE_FMedicare 2.6802 0.3731 2.1375 3.361
INSURANCE_FOther Government 1.7038 0.5869 0.8397 3.457
INSURANCE_FUnknown 0.8603 1.1624 0.4410 1.678
Concordance= 0.602 (se = 0.013 )
Rsquare= 0.09 (max possible= 0.999 )
Likelihood ratio test= 72.6 on 5 df, p=2.942e-14
Wald test = 82.46 on 5 df, p=2.22e-16
Score (logrank) test = 88.86 on 5 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: INSURANCE_F



Overall Survival pre/post-ACA expansion
uni_var(test_var = "EXPN_GROUP", data_imp = no_Excludes)
_________________________________________________
## EXPN_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
n events median 0.95LCL 0.95UCL
EXPN_GROUP=Post-Expansion 144 20 NA 82.8 NA
EXPN_GROUP=Pre-Expansion 562 145 132 125.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
EXPN_GROUP=Post-Expansion
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 119 5 0.963 0.0163 0.931 0.995
24 85 9 0.880 0.0303 0.823 0.942
36 42 4 0.827 0.0386 0.755 0.906
48 28 1 0.799 0.0467 0.712 0.896
60 18 0 0.799 0.0467 0.712 0.896
EXPN_GROUP=Pre-Expansion
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 498 20 0.963 0.00815 0.947 0.979
24 457 16 0.931 0.01111 0.909 0.953
36 394 20 0.888 0.01419 0.860 0.916
48 322 16 0.849 0.01652 0.818 0.882
60 253 25 0.778 0.02044 0.739 0.819
120 51 39 0.586 0.03289 0.525 0.655
## Univariable Cox Proportional Hazard Model for: EXPN_GROUP
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
n= 706, number of events= 165
coef exp(coef) se(coef) z Pr(>|z|)
EXPN_GROUPPre-Expansion -0.2186 0.8036 0.2458 -0.889 0.374
exp(coef) exp(-coef) lower .95 upper .95
EXPN_GROUPPre-Expansion 0.8036 1.244 0.4964 1.301
Concordance= 0.519 (se = 0.016 )
Rsquare= 0.001 (max possible= 0.932 )
Likelihood ratio test= 0.75 on 1 df, p=0.3855
Wald test = 0.79 on 1 df, p=0.3739
Score (logrank) test = 0.79 on 1 df, p=0.373
## Unadjusted Kaplan Meier Overall Survival Curve for: EXPN_GROUP



Education
uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
8 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more 146 86 20.8 13.1 34.3
EDUCATION_F=13 - 20.9% 210 105 28.6 24.1 93.9
EDUCATION_F=7 - 12.9% 223 120 32.3 20.8 NA
EDUCATION_F=Less than 7% 185 103 34.8 20.7 65.0
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
8 observations deleted due to missingness
EDUCATION_F=21% or more
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 78 57 0.588 0.0421 0.511 0.676
24 54 18 0.444 0.0434 0.366 0.537
36 38 6 0.388 0.0436 0.311 0.483
48 32 0 0.388 0.0436 0.311 0.483
60 28 1 0.375 0.0439 0.298 0.472
120 5 4 0.283 0.0534 0.195 0.409
EDUCATION_F=13 - 20.9%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 125 63 0.684 0.0331 0.622 0.752
24 93 20 0.571 0.0360 0.504 0.646
36 70 14 0.484 0.0373 0.416 0.563
48 57 3 0.462 0.0377 0.394 0.542
60 52 0 0.462 0.0377 0.394 0.542
120 23 5 0.413 0.0396 0.342 0.498
EDUCATION_F=7 - 12.9%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 142 74 0.662 0.0320 0.603 0.728
24 110 25 0.542 0.0340 0.480 0.613
36 94 12 0.482 0.0344 0.419 0.554
48 78 6 0.450 0.0345 0.387 0.523
60 72 1 0.444 0.0346 0.381 0.517
120 18 2 0.425 0.0360 0.360 0.501
EDUCATION_F=Less than 7%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 118 56 0.688 0.0347 0.623 0.759
24 95 22 0.559 0.0375 0.490 0.637
36 76 10 0.499 0.0380 0.430 0.579
48 67 3 0.479 0.0382 0.409 0.560
60 56 3 0.455 0.0387 0.385 0.538
120 16 8 0.373 0.0423 0.299 0.466
## Univariable Cox Proportional Hazard Model for: EDUCATION_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
n= 764, number of events= 414
(8 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
EDUCATION_F13 - 20.9% -0.2552 0.7748 0.1456 -1.753 0.0795 .
EDUCATION_F7 - 12.9% -0.2469 0.7812 0.1415 -1.745 0.0810 .
EDUCATION_FLess than 7% -0.2196 0.8029 0.1462 -1.501 0.1333
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9% 0.7748 1.291 0.5825 1.031
EDUCATION_F7 - 12.9% 0.7812 1.280 0.5920 1.031
EDUCATION_FLess than 7% 0.8029 1.246 0.6028 1.069
Concordance= 0.516 (se = 0.014 )
Rsquare= 0.005 (max possible= 0.999 )
Likelihood ratio test= 3.84 on 3 df, p=0.2797
Wald test = 4.02 on 3 df, p=0.2597
Score (logrank) test = 4.04 on 3 df, p=0.2576
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: EDUCATION_F



Urban/Rural
uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
27 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
U_R_F=Metro 656 357 26.9 23.6 38.5
U_R_F=Urban 79 39 38.5 17.4 NA
U_R_F=Rural 10 6 28.6 2.0 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
27 observations deleted due to missingness
U_R_F=Metro
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 400 213 0.663 0.0188 0.628 0.701
24 305 76 0.534 0.0202 0.496 0.575
36 238 38 0.465 0.0204 0.427 0.507
48 202 8 0.449 0.0205 0.410 0.491
60 181 5 0.437 0.0206 0.399 0.480
120 57 16 0.386 0.0221 0.345 0.432
U_R_F=Urban
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 44 28 0.623 0.0564 0.522 0.744
24 33 5 0.548 0.0587 0.444 0.676
36 30 1 0.530 0.0594 0.426 0.660
48 25 3 0.476 0.0610 0.371 0.612
60 21 0 0.476 0.0610 0.371 0.612
120 4 2 0.426 0.0642 0.317 0.572
U_R_F=Rural
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 3 0.700 0.145 0.467 1.000
24 5 1 0.583 0.161 0.340 1.000
36 3 1 0.467 0.166 0.233 0.936
48 2 1 0.311 0.168 0.108 0.899
60 2 0 0.311 0.168 0.108 0.899
## Univariable Cox Proportional Hazard Model for: U_R_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
n= 745, number of events= 402
(27 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
U_R_FUrban -0.04314 0.95778 0.16867 -0.256 0.798
U_R_FRural 0.19833 1.21937 0.41173 0.482 0.630
exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban 0.9578 1.0441 0.6882 1.333
U_R_FRural 1.2194 0.8201 0.5441 2.733
Concordance= 0.501 (se = 0.008 )
Rsquare= 0 (max possible= 0.999 )
Likelihood ratio test= 0.29 on 2 df, p=0.8634
Wald test = 0.31 on 2 df, p=0.8573
Score (logrank) test = 0.31 on 2 df, p=0.8569
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: U_R_F



Year
uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004 96 50 48.1 19.48 NA
YEAR_OF_DIAGNOSIS=2005 80 50 30.2 19.35 93.9
YEAR_OF_DIAGNOSIS=2006 79 48 18.7 13.80 99.1
YEAR_OF_DIAGNOSIS=2007 58 35 21.6 12.00 NA
YEAR_OF_DIAGNOSIS=2008 67 37 27.7 17.77 NA
YEAR_OF_DIAGNOSIS=2009 76 45 24.2 10.84 NA
YEAR_OF_DIAGNOSIS=2010 52 22 NA 33.28 NA
YEAR_OF_DIAGNOSIS=2011 54 29 18.4 9.03 NA
YEAR_OF_DIAGNOSIS=2012 57 27 55.6 16.56 NA
YEAR_OF_DIAGNOSIS=2013 58 34 25.1 13.11 NA
YEAR_OF_DIAGNOSIS=2014 61 28 28.6 16.26 NA
YEAR_OF_DIAGNOSIS=2015 34 12 NA 18.10 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
YEAR_OF_DIAGNOSIS=2004
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 61 29 0.690 0.0480 0.602 0.790
24 47 12 0.551 0.0524 0.457 0.664
36 43 2 0.528 0.0528 0.434 0.642
48 41 2 0.503 0.0531 0.409 0.619
60 40 1 0.491 0.0532 0.397 0.607
120 24 4 0.439 0.0536 0.345 0.558
YEAR_OF_DIAGNOSIS=2005
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 54 24 0.696 0.0518 0.602 0.805
24 42 12 0.541 0.0563 0.442 0.664
36 37 5 0.477 0.0565 0.378 0.602
48 35 2 0.451 0.0563 0.353 0.576
60 33 1 0.438 0.0562 0.341 0.564
120 21 5 0.370 0.0552 0.276 0.495
YEAR_OF_DIAGNOSIS=2006
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 48 27 0.646 0.0548 0.548 0.763
24 36 11 0.497 0.0578 0.396 0.624
36 29 6 0.412 0.0574 0.314 0.541
48 28 1 0.398 0.0571 0.300 0.527
60 28 0 0.398 0.0571 0.300 0.527
120 13 3 0.342 0.0576 0.245 0.475
YEAR_OF_DIAGNOSIS=2007
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 35 23 0.601 0.0646 0.486 0.742
24 26 7 0.475 0.0663 0.361 0.625
36 22 4 0.402 0.0654 0.292 0.553
48 19 1 0.383 0.0650 0.274 0.534
60 18 0 0.383 0.0650 0.274 0.534
120 5 0 0.383 0.0650 0.274 0.534
YEAR_OF_DIAGNOSIS=2008
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 41 21 0.668 0.0593 0.561 0.795
24 31 10 0.505 0.0634 0.395 0.646
36 27 2 0.472 0.0634 0.363 0.614
48 22 0 0.472 0.0634 0.363 0.614
60 22 0 0.472 0.0634 0.363 0.614
YEAR_OF_DIAGNOSIS=2009
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 41 32 0.572 0.0574 0.470 0.697
24 34 5 0.503 0.0583 0.401 0.631
36 28 4 0.441 0.0587 0.340 0.573
48 27 1 0.425 0.0587 0.325 0.557
60 26 1 0.410 0.0586 0.309 0.542
YEAR_OF_DIAGNOSIS=2010
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 33 13 0.740 0.0621 0.628 0.873
24 31 2 0.695 0.0659 0.578 0.837
36 24 4 0.604 0.0714 0.479 0.762
48 22 2 0.554 0.0738 0.426 0.719
60 20 0 0.554 0.0738 0.426 0.719
YEAR_OF_DIAGNOSIS=2011
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 26 23 0.539 0.0710 0.416 0.697
24 23 3 0.477 0.0713 0.355 0.639
36 20 1 0.456 0.0712 0.336 0.619
48 17 1 0.433 0.0712 0.314 0.598
60 15 1 0.408 0.0714 0.289 0.574
YEAR_OF_DIAGNOSIS=2012
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 33 19 0.652 0.0648 0.536 0.792
24 26 5 0.552 0.0686 0.432 0.704
36 21 2 0.509 0.0696 0.389 0.665
48 17 0 0.509 0.0696 0.389 0.665
60 8 1 0.473 0.0735 0.349 0.641
YEAR_OF_DIAGNOSIS=2013
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 35 20 0.648 0.0634 0.535 0.785
24 28 6 0.535 0.0671 0.419 0.684
36 19 7 0.401 0.0667 0.290 0.556
48 7 1 0.375 0.0674 0.263 0.533
YEAR_OF_DIAGNOSIS=2014
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 37 16 0.719 0.0600 0.611 0.847
24 21 7 0.562 0.0708 0.439 0.719
36 10 4 0.449 0.0759 0.322 0.625
48 1 1 0.385 0.0881 0.246 0.603
YEAR_OF_DIAGNOSIS=2015
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 23 6 0.802 0.0726 0.672 0.958
24 11 5 0.614 0.0923 0.457 0.825
## Univariable Cox Proportional Hazard Model for: YEAR_OF_DIAGNOSIS
X matrix deemed to be singular; variable 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
YEAR_OF_DIAGNOSIS2005 0.15666 1.16959 0.20002 0.783 0.434
YEAR_OF_DIAGNOSIS2006 0.24547 1.27823 0.20231 1.213 0.225
YEAR_OF_DIAGNOSIS2007 0.23627 1.26652 0.22066 1.071 0.284
YEAR_OF_DIAGNOSIS2008 0.14858 1.16019 0.21718 0.684 0.494
YEAR_OF_DIAGNOSIS2009 0.24340 1.27558 0.20600 1.182 0.237
YEAR_OF_DIAGNOSIS2010 -0.19400 0.82366 0.25636 -0.757 0.449
YEAR_OF_DIAGNOSIS2011 0.24884 1.28254 0.23411 1.063 0.288
YEAR_OF_DIAGNOSIS2012 0.05878 1.06054 0.23966 0.245 0.806
YEAR_OF_DIAGNOSIS2013 0.29259 1.33989 0.22342 1.310 0.190
YEAR_OF_DIAGNOSIS2014 0.13852 1.14857 0.23738 0.584 0.560
YEAR_OF_DIAGNOSIS2015 -0.15884 0.85314 0.32269 -0.492 0.623
YEAR_OF_DIAGNOSIS2016 NA NA 0.00000 NA NA
exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005 1.1696 0.8550 0.7903 1.731
YEAR_OF_DIAGNOSIS2006 1.2782 0.7823 0.8598 1.900
YEAR_OF_DIAGNOSIS2007 1.2665 0.7896 0.8218 1.952
YEAR_OF_DIAGNOSIS2008 1.1602 0.8619 0.7580 1.776
YEAR_OF_DIAGNOSIS2009 1.2756 0.7840 0.8518 1.910
YEAR_OF_DIAGNOSIS2010 0.8237 1.2141 0.4983 1.361
YEAR_OF_DIAGNOSIS2011 1.2825 0.7797 0.8106 2.029
YEAR_OF_DIAGNOSIS2012 1.0605 0.9429 0.6630 1.696
YEAR_OF_DIAGNOSIS2013 1.3399 0.7463 0.8648 2.076
YEAR_OF_DIAGNOSIS2014 1.1486 0.8706 0.7213 1.829
YEAR_OF_DIAGNOSIS2015 0.8531 1.1721 0.4533 1.606
YEAR_OF_DIAGNOSIS2016 NA NA NA NA
Concordance= 0.538 (se = 0.015 )
Rsquare= 0.01 (max possible= 0.999 )
Likelihood ratio test= 7.53 on 11 df, p=0.7545
Wald test = 7.15 on 11 df, p=0.7865
Score (logrank) test = 7.22 on 11 df, p=0.7808
Removed 2 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.



Primary Site
uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
n events median 0.95LCL 0.95UCL
SITE_TEXT=C09.8 Tonsil: Overlapping 1 1 16.26 NA NA
SITE_TEXT=C09.9 = Tonsil NOS 9 3 NA 8.64 NA
SITE_TEXT=C11.1 Nasopharynx: Poster Wall 2 0 NA NA NA
SITE_TEXT=C14.2 Waldeyer Ring 4 2 20.34 2.50 NA
SITE_TEXT=C37.9 Thymus 4 3 12.86 3.35 NA
SITE_TEXT=C42.2 Spleen 4 3 35.47 4.70 NA
SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck 75 33 68.27 26.18 NA
SITE_TEXT=C77.1 Intrathoracic Lymph Nodes 97 38 NA 61.90 NA
SITE_TEXT=C77.2 Intra-abdominal LymphNodes 27 23 6.28 3.78 51.3
SITE_TEXT=C77.3 Lymph Nodes of axilla or arm 26 11 NA 21.06 NA
SITE_TEXT=C77.4 Lymph Nodes: Leg 20 12 25.03 13.11 NA
SITE_TEXT=C77.5 Pelvic Lymph Nodes 6 6 1.97 1.18 NA
SITE_TEXT=C77.8 Lymph Nodes: multiple region 226 117 28.25 23.10 NA
SITE_TEXT=C77.9 Lymph Node NOS 271 165 19.48 14.29 29.8
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
SITE_TEXT=C09.8 Tonsil: Overlapping
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
SITE_TEXT=C09.9 = Tonsil NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 4 3 0.593 0.185 0.322 1
24 4 0 0.593 0.185 0.322 1
36 2 0 0.593 0.185 0.322 1
48 2 0 0.593 0.185 0.322 1
60 2 0 0.593 0.185 0.322 1
120 1 0 0.593 0.185 0.322 1
SITE_TEXT=C11.1 Nasopharynx: Poster Wall
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 2 0 1 0 1 1
SITE_TEXT=C14.2 Waldeyer Ring
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 1 0.75 0.217 0.426 1
24 2 1 0.50 0.250 0.188 1
36 2 0 0.50 0.250 0.188 1
48 1 0 0.50 0.250 0.188 1
60 1 0 0.50 0.250 0.188 1
120 1 0 0.50 0.250 0.188 1
SITE_TEXT=C37.9 Thymus
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 2 0.50 0.250 0.1877 1
24 1 1 0.25 0.217 0.0458 1
36 1 0 0.25 0.217 0.0458 1
48 1 0 0.25 0.217 0.0458 1
60 1 0 0.25 0.217 0.0458 1
SITE_TEXT=C42.2 Spleen
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 1 0.75 0.217 0.4259 1
24 3 0 0.75 0.217 0.4259 1
36 2 1 0.50 0.250 0.1877 1
48 1 1 0.25 0.217 0.0458 1
60 1 0 0.25 0.217 0.0458 1
120 1 0 0.25 0.217 0.0458 1
SITE_TEXT=C77.0 Lymph Nodes: HeadFaceNeck
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 48 18 0.743 0.0524 0.647 0.853
24 37 7 0.628 0.0596 0.522 0.757
36 30 4 0.559 0.0623 0.450 0.696
48 28 1 0.541 0.0629 0.431 0.679
60 27 1 0.522 0.0636 0.411 0.662
120 8 2 0.481 0.0647 0.370 0.626
SITE_TEXT=C77.1 Intrathoracic Lymph Nodes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 79 13 0.861 0.0358 0.794 0.934
24 60 17 0.674 0.0490 0.585 0.777
36 52 2 0.651 0.0499 0.560 0.757
48 47 2 0.625 0.0512 0.533 0.734
60 37 2 0.597 0.0526 0.502 0.710
120 13 2 0.562 0.0551 0.464 0.681
SITE_TEXT=C77.2 Intra-abdominal LymphNodes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 7 18 0.3009 0.0926 0.1647 0.550
24 6 1 0.2579 0.0888 0.1314 0.506
36 6 0 0.2579 0.0888 0.1314 0.506
48 6 0 0.2579 0.0888 0.1314 0.506
60 4 2 0.1720 0.0772 0.0713 0.415
120 1 2 0.0645 0.0571 0.0114 0.366
SITE_TEXT=C77.3 Lymph Nodes of axilla or arm
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 17 7 0.720 0.0898 0.564 0.919
24 14 2 0.632 0.0980 0.467 0.857
36 10 2 0.538 0.1036 0.369 0.785
48 9 0 0.538 0.1036 0.369 0.785
60 9 0 0.538 0.1036 0.369 0.785
120 5 0 0.538 0.1036 0.369 0.785
SITE_TEXT=C77.4 Lymph Nodes: Leg
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 13 6 0.684 0.107 0.504 0.929
24 9 3 0.526 0.115 0.344 0.806
36 7 2 0.409 0.115 0.236 0.710
48 6 1 0.351 0.113 0.187 0.658
60 6 0 0.351 0.113 0.187 0.658
120 3 0 0.351 0.113 0.187 0.658
SITE_TEXT=C77.5 Pelvic Lymph Nodes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12.000 2.000 4.000 0.333 0.192 0.108 1.000
SITE_TEXT=C77.8 Lymph Nodes: multiple region
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 142 73 0.668 0.0318 0.609 0.734
24 110 23 0.555 0.0341 0.492 0.626
36 84 13 0.488 0.0347 0.425 0.561
48 66 5 0.457 0.0352 0.393 0.531
60 60 0 0.457 0.0352 0.393 0.531
120 15 3 0.420 0.0384 0.351 0.503
SITE_TEXT=C77.9 Lymph Node NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 144 107 0.589 0.0306 0.532 0.652
24 108 27 0.476 0.0316 0.418 0.542
36 84 18 0.394 0.0315 0.337 0.461
48 69 2 0.385 0.0314 0.328 0.452
60 62 0 0.385 0.0314 0.328 0.452
120 15 10 0.301 0.0347 0.240 0.378
## Univariable Cox Proportional Hazard Model for: SITE_TEXT
Loglik converged before variable 2 ; beta may be infinite.
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
SITE_TEXTC09.9 = Tonsil NOS -1.139e+00 3.202e-01 1.155e+00 -0.986 0.324
SITE_TEXTC11.1 Nasopharynx: Poster Wall -1.484e+01 3.595e-07 9.859e+02 -0.015 0.988
SITE_TEXTC14.2 Waldeyer Ring -8.817e-01 4.141e-01 1.225e+00 -0.720 0.472
SITE_TEXTC37.9 Thymus -2.193e-01 8.030e-01 1.155e+00 -0.190 0.849
SITE_TEXTC42.2 Spleen -5.662e-01 5.677e-01 1.155e+00 -0.490 0.624
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck -9.372e-01 3.917e-01 1.016e+00 -0.923 0.356
SITE_TEXTC77.1 Intrathoracic Lymph Nodes -1.220e+00 2.952e-01 1.014e+00 -1.203 0.229
SITE_TEXTC77.2 Intra-abdominal LymphNodes 2.310e-01 1.260e+00 1.022e+00 0.226 0.821
SITE_TEXTC77.3 Lymph Nodes of axilla or arm -1.042e+00 3.528e-01 1.045e+00 -0.997 0.319
SITE_TEXTC77.4 Lymph Nodes: Leg -5.915e-01 5.535e-01 1.041e+00 -0.568 0.570
SITE_TEXTC77.5 Pelvic Lymph Nodes 7.319e-01 2.079e+00 1.080e+00 0.677 0.498
SITE_TEXTC77.8 Lymph Nodes: multiple region -7.516e-01 4.716e-01 1.005e+00 -0.748 0.454
SITE_TEXTC77.9 Lymph Node NOS -4.738e-01 6.226e-01 1.004e+00 -0.472 0.637
exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC09.9 = Tonsil NOS 3.202e-01 3.123e+00 0.03327 3.081
SITE_TEXTC11.1 Nasopharynx: Poster Wall 3.595e-07 2.782e+06 0.00000 Inf
SITE_TEXTC14.2 Waldeyer Ring 4.141e-01 2.415e+00 0.03751 4.571
SITE_TEXTC37.9 Thymus 8.030e-01 1.245e+00 0.08347 7.726
SITE_TEXTC42.2 Spleen 5.677e-01 1.761e+00 0.05897 5.465
SITE_TEXTC77.0 Lymph Nodes: HeadFaceNeck 3.917e-01 2.553e+00 0.05351 2.868
SITE_TEXTC77.1 Intrathoracic Lymph Nodes 2.952e-01 3.387e+00 0.04048 2.153
SITE_TEXTC77.2 Intra-abdominal LymphNodes 1.260e+00 7.937e-01 0.16994 9.340
SITE_TEXTC77.3 Lymph Nodes of axilla or arm 3.528e-01 2.834e+00 0.04549 2.736
SITE_TEXTC77.4 Lymph Nodes: Leg 5.535e-01 1.807e+00 0.07188 4.262
SITE_TEXTC77.5 Pelvic Lymph Nodes 2.079e+00 4.810e-01 0.25013 17.282
SITE_TEXTC77.8 Lymph Nodes: multiple region 4.716e-01 2.120e+00 0.06580 3.380
SITE_TEXTC77.9 Lymph Node NOS 6.226e-01 1.606e+00 0.08710 4.451
Concordance= 0.591 (se = 0.014 )
Rsquare= 0.064 (max possible= 0.999 )
Likelihood ratio test= 51.27 on 13 df, p=1.8e-06
Wald test = 53.47 on 13 df, p=7.472e-07
Score (logrank) test = 60.24 on 13 df, p=4.751e-08
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 14 rows containing missing values (geom_text).Removed 14 rows containing missing values (geom_text).Removed 14 rows containing missing values (geom_text).Removed 14 rows containing missing values (geom_text).Removed 14 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 14.



Histology
#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)
Grade
#uni_var(test_var = "GRADE_F", data_imp = data)
Clinical T Stage
uni_var(test_var = "TNM_CLIN_T", data_imp = data)
_________________________________________________
## TNM_CLIN_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_T, data = data)
22 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_CLIN_T=N_A 740 398 27.9 24.0 38.5
TNM_CLIN_T=c2 1 1 10.4 NA NA
TNM_CLIN_T=cX 9 6 65.0 18.7 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_T, data = data)
22 observations deleted due to missingness
TNM_CLIN_T=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 448 242 0.660 0.0178 0.626 0.696
24 341 82 0.535 0.0190 0.499 0.574
36 270 40 0.471 0.0193 0.434 0.510
48 229 11 0.451 0.0194 0.414 0.490
60 204 5 0.440 0.0195 0.404 0.480
120 61 17 0.391 0.0209 0.352 0.434
TNM_CLIN_T=c2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
TNM_CLIN_T=cX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 1 0.889 0.105 0.706 1.000
24 6 2 0.667 0.157 0.420 1.000
36 6 0 0.667 0.157 0.420 1.000
48 5 1 0.556 0.166 0.310 0.997
60 5 0 0.556 0.166 0.310 0.997
120 2 2 0.333 0.157 0.132 0.840
## Univariable Cox Proportional Hazard Model for: TNM_CLIN_T
X matrix deemed to be singular; variable 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 20 21
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_T, data = data)
n= 750, number of events= 405
(22 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_CLIN_Tc0 NA NA 0.00000 NA NA
TNM_CLIN_Tc1 NA NA 0.00000 NA NA
TNM_CLIN_Tc1A NA NA 0.00000 NA NA
TNM_CLIN_Tc1B NA NA 0.00000 NA NA
TNM_CLIN_Tc1C NA NA 0.00000 NA NA
TNM_CLIN_Tc1MI NA NA 0.00000 NA NA
TNM_CLIN_Tc2 1.00498 2.73184 1.00230 1.003 0.316
TNM_CLIN_Tc2A NA NA 0.00000 NA NA
TNM_CLIN_Tc2B NA NA 0.00000 NA NA
TNM_CLIN_Tc2C NA NA 0.00000 NA NA
TNM_CLIN_Tc3 NA NA 0.00000 NA NA
TNM_CLIN_Tc3A NA NA 0.00000 NA NA
TNM_CLIN_Tc3B NA NA 0.00000 NA NA
TNM_CLIN_Tc4 NA NA 0.00000 NA NA
TNM_CLIN_Tc4A NA NA 0.00000 NA NA
TNM_CLIN_Tc4B NA NA 0.00000 NA NA
TNM_CLIN_Tc4C NA NA 0.00000 NA NA
TNM_CLIN_Tc4D NA NA 0.00000 NA NA
TNM_CLIN_TcX -0.07431 0.92839 0.41150 -0.181 0.857
TNM_CLIN_TpA NA NA 0.00000 NA NA
TNM_CLIN_TpIS NA NA 0.00000 NA NA
exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Tc0 NA NA NA NA
TNM_CLIN_Tc1 NA NA NA NA
TNM_CLIN_Tc1A NA NA NA NA
TNM_CLIN_Tc1B NA NA NA NA
TNM_CLIN_Tc1C NA NA NA NA
TNM_CLIN_Tc1MI NA NA NA NA
TNM_CLIN_Tc2 2.7318 0.3661 0.3831 19.48
TNM_CLIN_Tc2A NA NA NA NA
TNM_CLIN_Tc2B NA NA NA NA
TNM_CLIN_Tc2C NA NA NA NA
TNM_CLIN_Tc3 NA NA NA NA
TNM_CLIN_Tc3A NA NA NA NA
TNM_CLIN_Tc3B NA NA NA NA
TNM_CLIN_Tc4 NA NA NA NA
TNM_CLIN_Tc4A NA NA NA NA
TNM_CLIN_Tc4B NA NA NA NA
TNM_CLIN_Tc4C NA NA NA NA
TNM_CLIN_Tc4D NA NA NA NA
TNM_CLIN_TcX 0.9284 1.0771 0.4144 2.08
TNM_CLIN_TpA NA NA NA NA
TNM_CLIN_TpIS NA NA NA NA
Concordance= 0.503 (se = 0.003 )
Rsquare= 0.001 (max possible= 0.999 )
Likelihood ratio test= 0.77 on 2 df, p=0.6788
Wald test = 1.04 on 2 df, p=0.5946
Score (logrank) test = 1.13 on 2 df, p=0.569
Removed 20 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_CLIN_T



Clinical N Stage
uni_var(test_var = "TNM_CLIN_N", data_imp = data)
_________________________________________________
## TNM_CLIN_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_N, data = data)
22 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_CLIN_N=N_A 740 398 27.9 24.0 38.5
TNM_CLIN_N=c0 1 1 10.4 NA NA
TNM_CLIN_N=cX 9 6 65.0 18.7 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_N, data = data)
22 observations deleted due to missingness
TNM_CLIN_N=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 448 242 0.660 0.0178 0.626 0.696
24 341 82 0.535 0.0190 0.499 0.574
36 270 40 0.471 0.0193 0.434 0.510
48 229 11 0.451 0.0194 0.414 0.490
60 204 5 0.440 0.0195 0.404 0.480
120 61 17 0.391 0.0209 0.352 0.434
TNM_CLIN_N=c0
time n.risk n.event survival std.err lower 95% CI upper 95% CI
TNM_CLIN_N=cX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 1 0.889 0.105 0.706 1.000
24 6 2 0.667 0.157 0.420 1.000
36 6 0 0.667 0.157 0.420 1.000
48 5 1 0.556 0.166 0.310 0.997
60 5 0 0.556 0.166 0.310 0.997
120 2 2 0.333 0.157 0.132 0.840
## Univariable Cox Proportional Hazard Model for: TNM_CLIN_N
X matrix deemed to be singular; variable 2 3 4 5 6 7 8 9 10 11 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_N, data = data)
n= 750, number of events= 405
(22 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_CLIN_Nc0 1.00498 2.73184 1.00230 1.003 0.316
TNM_CLIN_Nc1 NA NA 0.00000 NA NA
TNM_CLIN_Nc1A NA NA 0.00000 NA NA
TNM_CLIN_Nc1B NA NA 0.00000 NA NA
TNM_CLIN_Nc2 NA NA 0.00000 NA NA
TNM_CLIN_Nc2A NA NA 0.00000 NA NA
TNM_CLIN_Nc2B NA NA 0.00000 NA NA
TNM_CLIN_Nc2C NA NA 0.00000 NA NA
TNM_CLIN_Nc3 NA NA 0.00000 NA NA
TNM_CLIN_Nc3A NA NA 0.00000 NA NA
TNM_CLIN_Nc3B NA NA 0.00000 NA NA
TNM_CLIN_Nc3C NA NA 0.00000 NA NA
TNM_CLIN_NcX -0.07431 0.92839 0.41150 -0.181 0.857
exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_Nc0 2.7318 0.3661 0.3831 19.48
TNM_CLIN_Nc1 NA NA NA NA
TNM_CLIN_Nc1A NA NA NA NA
TNM_CLIN_Nc1B NA NA NA NA
TNM_CLIN_Nc2 NA NA NA NA
TNM_CLIN_Nc2A NA NA NA NA
TNM_CLIN_Nc2B NA NA NA NA
TNM_CLIN_Nc2C NA NA NA NA
TNM_CLIN_Nc3 NA NA NA NA
TNM_CLIN_Nc3A NA NA NA NA
TNM_CLIN_Nc3B NA NA NA NA
TNM_CLIN_Nc3C NA NA NA NA
TNM_CLIN_NcX 0.9284 1.0771 0.4144 2.08
Concordance= 0.503 (se = 0.003 )
Rsquare= 0.001 (max possible= 0.999 )
Likelihood ratio test= 0.77 on 2 df, p=0.6788
Wald test = 1.04 on 2 df, p=0.5946
Score (logrank) test = 1.13 on 2 df, p=0.569
Removed 12 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_CLIN_N



Clinical Stage Group
uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=1 47 21 106.2 23.59 NA
TNM_CLIN_STAGE_GROUP=1A 38 18 70.3 29.80 NA
TNM_CLIN_STAGE_GROUP=1B 16 9 39.9 12.29 NA
TNM_CLIN_STAGE_GROUP=2 56 21 NA 73.82 NA
TNM_CLIN_STAGE_GROUP=2A 27 7 NA 26.81 NA
TNM_CLIN_STAGE_GROUP=2B 18 11 14.3 7.10 NA
TNM_CLIN_STAGE_GROUP=3 33 14 NA 13.57 NA
TNM_CLIN_STAGE_GROUP=3A 29 16 28.6 11.96 NA
TNM_CLIN_STAGE_GROUP=3B 22 13 28.2 14.49 NA
TNM_CLIN_STAGE_GROUP=4 158 102 18.0 12.52 24.5
TNM_CLIN_STAGE_GROUP=4A 84 56 14.8 11.89 40.4
TNM_CLIN_STAGE_GROUP=4B 84 57 11.4 7.52 24.5
TNM_CLIN_STAGE_GROUP=N_A 7 3 2.3 2.30 NA
TNM_CLIN_STAGE_GROUP=99 153 69 61.9 32.92 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
TNM_CLIN_STAGE_GROUP=1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 30 14 0.698 0.0676 0.577 0.844
24 23 3 0.620 0.0736 0.491 0.782
36 20 2 0.564 0.0769 0.431 0.736
48 20 0 0.564 0.0769 0.431 0.736
60 17 1 0.532 0.0788 0.398 0.711
120 5 1 0.473 0.0895 0.326 0.685
TNM_CLIN_STAGE_GROUP=1A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 33 4 0.892 0.0510 0.797 0.998
24 25 7 0.703 0.0751 0.570 0.867
36 21 3 0.618 0.0804 0.479 0.798
48 16 2 0.553 0.0841 0.411 0.745
60 15 0 0.553 0.0841 0.411 0.745
120 8 2 0.474 0.0887 0.329 0.684
TNM_CLIN_STAGE_GROUP=1B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 12 4 0.750 0.108 0.565 0.995
24 8 3 0.562 0.124 0.365 0.867
36 7 0 0.562 0.124 0.365 0.867
48 5 1 0.469 0.134 0.267 0.821
60 5 0 0.469 0.134 0.267 0.821
120 2 1 0.375 0.136 0.184 0.764
TNM_CLIN_STAGE_GROUP=2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 41 10 0.810 0.0542 0.711 0.924
24 32 7 0.668 0.0663 0.550 0.811
36 27 2 0.626 0.0684 0.505 0.775
48 24 0 0.626 0.0684 0.505 0.775
60 23 0 0.626 0.0684 0.505 0.775
120 7 2 0.546 0.0808 0.409 0.730
TNM_CLIN_STAGE_GROUP=2A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 18 3 0.878 0.0664 0.757 1.000
24 13 3 0.716 0.1004 0.544 0.943
36 10 1 0.657 0.1084 0.475 0.907
48 10 0 0.657 0.1084 0.475 0.907
60 10 0 0.657 0.1084 0.475 0.907
120 2 0 0.657 0.1084 0.475 0.907
TNM_CLIN_STAGE_GROUP=2B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 7 0.549 0.128 0.3478 0.867
24 7 1 0.480 0.129 0.2838 0.813
36 6 1 0.412 0.128 0.2244 0.756
48 5 0 0.412 0.128 0.2244 0.756
60 4 1 0.329 0.126 0.1558 0.696
120 1 1 0.165 0.132 0.0341 0.796
TNM_CLIN_STAGE_GROUP=3
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 21 11 0.661 0.0833 0.516 0.846
24 19 2 0.598 0.0864 0.450 0.794
36 15 1 0.563 0.0882 0.414 0.765
48 13 0 0.563 0.0882 0.414 0.765
60 12 0 0.563 0.0882 0.414 0.765
120 4 0 0.563 0.0882 0.414 0.765
TNM_CLIN_STAGE_GROUP=3A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 18 11 0.621 0.0901 0.467 0.825
24 13 3 0.506 0.0947 0.351 0.731
36 11 1 0.464 0.0958 0.310 0.695
48 9 0 0.464 0.0958 0.310 0.695
60 8 0 0.464 0.0958 0.310 0.695
120 1 1 0.406 0.0998 0.251 0.657
TNM_CLIN_STAGE_GROUP=3B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 16 6 0.727 0.095 0.563 0.939
24 10 3 0.577 0.108 0.399 0.833
36 7 3 0.404 0.113 0.234 0.698
48 6 1 0.346 0.110 0.185 0.647
60 5 0 0.346 0.110 0.185 0.647
120 1 0 0.346 0.110 0.185 0.647
TNM_CLIN_STAGE_GROUP=4
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 86 64 0.586 0.0397 0.513 0.669
24 61 21 0.440 0.0406 0.367 0.528
36 46 9 0.375 0.0400 0.304 0.462
48 42 2 0.358 0.0399 0.288 0.446
60 38 0 0.358 0.0399 0.288 0.446
120 10 5 0.296 0.0421 0.224 0.391
TNM_CLIN_STAGE_GROUP=4A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 47 34 0.582 0.0548 0.484 0.700
24 32 12 0.428 0.0555 0.332 0.552
36 23 3 0.387 0.0550 0.293 0.511
48 17 3 0.334 0.0554 0.241 0.462
60 11 2 0.294 0.0556 0.202 0.426
120 2 2 0.235 0.0580 0.145 0.381
TNM_CLIN_STAGE_GROUP=4B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 36 43 0.467 0.0558 0.369 0.590
24 30 5 0.400 0.0552 0.305 0.524
36 20 7 0.303 0.0527 0.216 0.426
48 12 1 0.288 0.0522 0.202 0.411
60 9 0 0.288 0.0522 0.202 0.411
120 2 1 0.247 0.0588 0.155 0.394
TNM_CLIN_STAGE_GROUP=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 3 0.5 0.204 0.225 1
24 2 0 0.5 0.204 0.225 1
36 2 0 0.5 0.204 0.225 1
48 1 0 0.5 0.204 0.225 1
TNM_CLIN_STAGE_GROUP=99
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 99 39 0.731 0.0369 0.662 0.807
24 81 15 0.618 0.0411 0.543 0.704
36 65 9 0.547 0.0427 0.469 0.638
48 56 2 0.529 0.0432 0.451 0.621
60 53 1 0.520 0.0434 0.441 0.612
120 18 3 0.483 0.0457 0.401 0.581
## Univariable Cox Proportional Hazard Model for: TNM_CLIN_STAGE_GROUP
X matrix deemed to be singular; variable 4 8 12 16 18
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
TNM_CLIN_STAGE_GROUP1 -0.02485 0.97546 0.24923 -0.100 0.920592
TNM_CLIN_STAGE_GROUP1A -0.13231 0.87607 0.26473 -0.500 0.617215
TNM_CLIN_STAGE_GROUP1B 0.24014 1.27143 0.35444 0.678 0.498081
TNM_CLIN_STAGE_GROUP1C NA NA 0.00000 NA NA
TNM_CLIN_STAGE_GROUP2 -0.26671 0.76589 0.24925 -1.070 0.284594
TNM_CLIN_STAGE_GROUP2A -0.58371 0.55783 0.39670 -1.471 0.141186
TNM_CLIN_STAGE_GROUP2B 0.54860 1.73082 0.32478 1.689 0.091193 .
TNM_CLIN_STAGE_GROUP2C NA NA 0.00000 NA NA
TNM_CLIN_STAGE_GROUP3 -0.08515 0.91837 0.29318 -0.290 0.771476
TNM_CLIN_STAGE_GROUP3A 0.21823 1.24388 0.27752 0.786 0.431657
TNM_CLIN_STAGE_GROUP3B 0.32865 1.38910 0.30250 1.086 0.277268
TNM_CLIN_STAGE_GROUP3C NA NA 0.00000 NA NA
TNM_CLIN_STAGE_GROUP4 0.53375 1.70531 0.15602 3.421 0.000624 ***
TNM_CLIN_STAGE_GROUP4A 0.59240 1.80832 0.18032 3.285 0.001019 **
TNM_CLIN_STAGE_GROUP4B 0.72119 2.05688 0.17951 4.018 5.88e-05 ***
TNM_CLIN_STAGE_GROUP4C NA NA 0.00000 NA NA
TNM_CLIN_STAGE_GROUPN_A 0.50378 1.65497 0.59011 0.854 0.393269
TNM_CLIN_STAGE_GROUP99 NA NA 0.00000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1 0.9755 1.0252 0.5985 1.590
TNM_CLIN_STAGE_GROUP1A 0.8761 1.1415 0.5214 1.472
TNM_CLIN_STAGE_GROUP1B 1.2714 0.7865 0.6347 2.547
TNM_CLIN_STAGE_GROUP1C NA NA NA NA
TNM_CLIN_STAGE_GROUP2 0.7659 1.3057 0.4699 1.248
TNM_CLIN_STAGE_GROUP2A 0.5578 1.7927 0.2563 1.214
TNM_CLIN_STAGE_GROUP2B 1.7308 0.5778 0.9158 3.271
TNM_CLIN_STAGE_GROUP2C NA NA NA NA
TNM_CLIN_STAGE_GROUP3 0.9184 1.0889 0.5170 1.631
TNM_CLIN_STAGE_GROUP3A 1.2439 0.8039 0.7220 2.143
TNM_CLIN_STAGE_GROUP3B 1.3891 0.7199 0.7678 2.513
TNM_CLIN_STAGE_GROUP3C NA NA NA NA
TNM_CLIN_STAGE_GROUP4 1.7053 0.5864 1.2560 2.315
TNM_CLIN_STAGE_GROUP4A 1.8083 0.5530 1.2699 2.575
TNM_CLIN_STAGE_GROUP4B 2.0569 0.4862 1.4468 2.924
TNM_CLIN_STAGE_GROUP4C NA NA NA NA
TNM_CLIN_STAGE_GROUPN_A 1.6550 0.6042 0.5206 5.261
TNM_CLIN_STAGE_GROUP99 NA NA NA NA
Concordance= 0.596 (se = 0.015 )
Rsquare= 0.062 (max possible= 0.999 )
Likelihood ratio test= 49.33 on 13 df, p=3.877e-06
Wald test = 46.86 on 13 df, p=1.019e-05
Score (logrank) test = 49.12 on 13 df, p=4.214e-06
Removed 6 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 14.



Pathologic T Stage
uni_var(test_var = "TNM_PATH_T", data_imp = data)
_________________________________________________
## TNM_PATH_T
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_T, data = data)
29 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_T=N_A 733 393 28.2 24.2 38.9
TNM_PATH_T=p2 1 1 10.4 NA NA
TNM_PATH_T=pX 9 6 65.0 18.7 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_T, data = data)
29 observations deleted due to missingness
TNM_PATH_T=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 446 237 0.664 0.0179 0.629 0.699
24 340 82 0.538 0.0191 0.502 0.577
36 270 40 0.473 0.0194 0.436 0.512
48 229 11 0.453 0.0195 0.416 0.493
60 204 5 0.442 0.0196 0.406 0.483
120 61 17 0.393 0.0210 0.354 0.436
TNM_PATH_T=p2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
TNM_PATH_T=pX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 1 0.889 0.105 0.706 1.000
24 6 2 0.667 0.157 0.420 1.000
36 6 0 0.667 0.157 0.420 1.000
48 5 1 0.556 0.166 0.310 0.997
60 5 0 0.556 0.166 0.310 0.997
120 2 2 0.333 0.157 0.132 0.840
## Univariable Cox Proportional Hazard Model for: TNM_PATH_T
X matrix deemed to be singular; variable 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_T, data = data)
n= 743, number of events= 400
(29 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_Tp0 NA NA 0.00000 NA NA
TNM_PATH_Tp1 NA NA 0.00000 NA NA
TNM_PATH_Tp1A NA NA 0.00000 NA NA
TNM_PATH_Tp1B NA NA 0.00000 NA NA
TNM_PATH_Tp1C NA NA 0.00000 NA NA
TNM_PATH_Tp1MI NA NA 0.00000 NA NA
TNM_PATH_Tp2 1.01536 2.76035 1.00234 1.013 0.311
TNM_PATH_Tp2A NA NA 0.00000 NA NA
TNM_PATH_Tp2B NA NA 0.00000 NA NA
TNM_PATH_Tp3 NA NA 0.00000 NA NA
TNM_PATH_Tp3A NA NA 0.00000 NA NA
TNM_PATH_Tp3B NA NA 0.00000 NA NA
TNM_PATH_Tp4 NA NA 0.00000 NA NA
TNM_PATH_Tp4A NA NA 0.00000 NA NA
TNM_PATH_Tp4B NA NA 0.00000 NA NA
TNM_PATH_Tp4C NA NA 0.00000 NA NA
TNM_PATH_Tp4D NA NA 0.00000 NA NA
TNM_PATH_TpA NA NA 0.00000 NA NA
TNM_PATH_TpIS NA NA 0.00000 NA NA
TNM_PATH_TpX -0.06852 0.93378 0.41154 -0.166 0.868
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Tp0 NA NA NA NA
TNM_PATH_Tp1 NA NA NA NA
TNM_PATH_Tp1A NA NA NA NA
TNM_PATH_Tp1B NA NA NA NA
TNM_PATH_Tp1C NA NA NA NA
TNM_PATH_Tp1MI NA NA NA NA
TNM_PATH_Tp2 2.7604 0.3623 0.3871 19.686
TNM_PATH_Tp2A NA NA NA NA
TNM_PATH_Tp2B NA NA NA NA
TNM_PATH_Tp3 NA NA NA NA
TNM_PATH_Tp3A NA NA NA NA
TNM_PATH_Tp3B NA NA NA NA
TNM_PATH_Tp4 NA NA NA NA
TNM_PATH_Tp4A NA NA NA NA
TNM_PATH_Tp4B NA NA NA NA
TNM_PATH_Tp4C NA NA NA NA
TNM_PATH_Tp4D NA NA NA NA
TNM_PATH_TpA NA NA NA NA
TNM_PATH_TpIS NA NA NA NA
TNM_PATH_TpX 0.9338 1.0709 0.4168 2.092
Concordance= 0.503 (se = 0.003 )
Rsquare= 0.001 (max possible= 0.999 )
Likelihood ratio test= 0.78 on 2 df, p=0.6761
Wald test = 1.06 on 2 df, p=0.5899
Score (logrank) test = 1.15 on 2 df, p=0.5635
Removed 19 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_T



Pathologic N Stage
uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_N, data = data)
29 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A 733 393 28.2 24.2 38.9
TNM_PATH_N=pX 10 7 53.2 14.7 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_N, data = data)
29 observations deleted due to missingness
TNM_PATH_N=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 446 237 0.664 0.0179 0.629 0.699
24 340 82 0.538 0.0191 0.502 0.577
36 270 40 0.473 0.0194 0.436 0.512
48 229 11 0.453 0.0195 0.416 0.493
60 204 5 0.442 0.0196 0.406 0.483
120 61 17 0.393 0.0210 0.354 0.436
TNM_PATH_N=pX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 2 0.8 0.126 0.587 1.000
24 6 2 0.6 0.155 0.362 0.995
36 6 0 0.6 0.155 0.362 0.995
48 5 1 0.5 0.158 0.269 0.929
60 5 0 0.5 0.158 0.269 0.929
120 2 2 0.3 0.145 0.116 0.773
## Univariable Cox Proportional Hazard Model for: TNM_PATH_N
X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_N, data = data)
n= 743, number of events= 400
(29 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_Np0 NA NA 0.00000 NA NA
TNM_PATH_Np0I- NA NA 0.00000 NA NA
TNM_PATH_Np0I+ NA NA 0.00000 NA NA
TNM_PATH_Np0M- NA NA 0.00000 NA NA
TNM_PATH_Np0M+ NA NA 0.00000 NA NA
TNM_PATH_Np1 NA NA 0.00000 NA NA
TNM_PATH_Np1A NA NA 0.00000 NA NA
TNM_PATH_Np1B NA NA 0.00000 NA NA
TNM_PATH_Np1C NA NA 0.00000 NA NA
TNM_PATH_Np1MI NA NA 0.00000 NA NA
TNM_PATH_Np2 NA NA 0.00000 NA NA
TNM_PATH_Np2A NA NA 0.00000 NA NA
TNM_PATH_Np2B NA NA 0.00000 NA NA
TNM_PATH_Np2C NA NA 0.00000 NA NA
TNM_PATH_Np3 NA NA 0.00000 NA NA
TNM_PATH_Np3A NA NA 0.00000 NA NA
TNM_PATH_Np3B NA NA 0.00000 NA NA
TNM_PATH_Np3C NA NA 0.00000 NA NA
TNM_PATH_NpX 0.03101 1.03150 0.38145 0.081 0.935
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Np0 NA NA NA NA
TNM_PATH_Np0I- NA NA NA NA
TNM_PATH_Np0I+ NA NA NA NA
TNM_PATH_Np0M- NA NA NA NA
TNM_PATH_Np0M+ NA NA NA NA
TNM_PATH_Np1 NA NA NA NA
TNM_PATH_Np1A NA NA NA NA
TNM_PATH_Np1B NA NA NA NA
TNM_PATH_Np1C NA NA NA NA
TNM_PATH_Np1MI NA NA NA NA
TNM_PATH_Np2 NA NA NA NA
TNM_PATH_Np2A NA NA NA NA
TNM_PATH_Np2B NA NA NA NA
TNM_PATH_Np2C NA NA NA NA
TNM_PATH_Np3 NA NA NA NA
TNM_PATH_Np3A NA NA NA NA
TNM_PATH_Np3B NA NA NA NA
TNM_PATH_Np3C NA NA NA NA
TNM_PATH_NpX 1.032 0.9695 0.4884 2.179
Concordance= 0.499 (se = 0.003 )
Rsquare= 0 (max possible= 0.999 )
Likelihood ratio test= 0.01 on 1 df, p=0.9355
Wald test = 0.01 on 1 df, p=0.9352
Score (logrank) test = 0.01 on 1 df, p=0.9352
Removed 19 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_N



Pathologic M Stage
uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
44 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_M=N_A 718 382 28.4 24.2 39.9
TNM_PATH_M=pX 10 7 53.2 14.7 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
44 observations deleted due to missingness
TNM_PATH_M=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 435 233 0.662 0.0181 0.627 0.698
24 334 79 0.538 0.0193 0.502 0.578
36 265 39 0.474 0.0196 0.437 0.514
48 228 9 0.457 0.0197 0.420 0.497
60 204 4 0.449 0.0198 0.411 0.489
120 61 17 0.398 0.0212 0.359 0.442
TNM_PATH_M=pX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 2 0.8 0.126 0.587 1.000
24 6 2 0.6 0.155 0.362 0.995
36 6 0 0.6 0.155 0.362 0.995
48 5 1 0.5 0.158 0.269 0.929
60 5 0 0.5 0.158 0.269 0.929
120 2 2 0.3 0.145 0.116 0.773
## Univariable Cox Proportional Hazard Model for: TNM_PATH_M
X matrix deemed to be singular; variable 1 2 3 4
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
n= 728, number of events= 389
(44 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_Mp1 NA NA 0.00000 NA NA
TNM_PATH_Mp1A NA NA 0.00000 NA NA
TNM_PATH_Mp1B NA NA 0.00000 NA NA
TNM_PATH_Mp1C NA NA 0.00000 NA NA
TNM_PATH_MpX 0.04218 1.04308 0.38154 0.111 0.912
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp1 NA NA NA NA
TNM_PATH_Mp1A NA NA NA NA
TNM_PATH_Mp1B NA NA NA NA
TNM_PATH_Mp1C NA NA NA NA
TNM_PATH_MpX 1.043 0.9587 0.4938 2.203
Concordance= 0.499 (se = 0.003 )
Rsquare= 0 (max possible= 0.999 )
Likelihood ratio test= 0.01 on 1 df, p=0.9126
Wald test = 0.01 on 1 df, p=0.912
Score (logrank) test = 0.01 on 1 df, p=0.912
Removed 5 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_M



Pathologic Stage Group
uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
44 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=1 29 16 24.0 8.67 NA
TNM_PATH_STAGE_GROUP=1A 16 5 NA 70.34 NA
TNM_PATH_STAGE_GROUP=1B 6 3 18.1 17.38 NA
TNM_PATH_STAGE_GROUP=2 27 12 NA 23.56 NA
TNM_PATH_STAGE_GROUP=2A 6 4 13.1 11.89 NA
TNM_PATH_STAGE_GROUP=2B 7 4 97.3 7.10 NA
TNM_PATH_STAGE_GROUP=3 13 4 NA 20.73 NA
TNM_PATH_STAGE_GROUP=3A 6 2 NA 10.05 NA
TNM_PATH_STAGE_GROUP=3B 4 2 25.0 9.59 NA
TNM_PATH_STAGE_GROUP=4 75 49 16.6 8.48 27.0
TNM_PATH_STAGE_GROUP=4A 26 17 41.4 12.00 NA
TNM_PATH_STAGE_GROUP=4B 32 20 6.7 4.50 NA
TNM_PATH_STAGE_GROUP=N_A 7 3 2.3 2.30 NA
TNM_PATH_STAGE_GROUP=99 474 251 31.0 24.34 51.3
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
44 observations deleted due to missingness
TNM_PATH_STAGE_GROUP=1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 16 11 0.612 0.0920 0.456 0.822
24 11 3 0.485 0.0980 0.327 0.721
36 10 1 0.441 0.0985 0.285 0.684
48 10 0 0.441 0.0985 0.285 0.684
60 8 1 0.392 0.0990 0.239 0.643
120 2 0 0.392 0.0990 0.239 0.643
TNM_PATH_STAGE_GROUP=1A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 2 0.875 0.0827 0.727 1.000
24 13 1 0.812 0.0976 0.642 1.000
36 11 1 0.745 0.1105 0.557 0.996
48 9 0 0.745 0.1105 0.557 0.996
60 8 0 0.745 0.1105 0.557 0.996
120 3 1 0.638 0.1366 0.420 0.971
TNM_PATH_STAGE_GROUP=1B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 5 1 0.833 0.152 0.583 1
24 3 2 0.500 0.204 0.225 1
36 3 0 0.500 0.204 0.225 1
48 3 0 0.500 0.204 0.225 1
60 3 0 0.500 0.204 0.225 1
120 1 0 0.500 0.204 0.225 1
TNM_PATH_STAGE_GROUP=2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 20 6 0.773 0.0816 0.628 0.951
24 17 3 0.657 0.0929 0.498 0.867
36 16 1 0.618 0.0951 0.457 0.836
48 13 1 0.577 0.0973 0.415 0.803
60 13 0 0.577 0.0973 0.415 0.803
120 5 1 0.529 0.1004 0.365 0.767
TNM_PATH_STAGE_GROUP=2A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 4 2 0.667 0.192 0.3786 1
24 2 1 0.444 0.222 0.1668 1
36 1 1 0.222 0.192 0.0407 1
48 1 0 0.222 0.192 0.0407 1
60 1 0 0.222 0.192 0.0407 1
TNM_PATH_STAGE_GROUP=2B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 5 2 0.714 0.171 0.447 1
24 5 0 0.714 0.171 0.447 1
36 5 0 0.714 0.171 0.447 1
48 4 0 0.714 0.171 0.447 1
60 4 0 0.714 0.171 0.447 1
TNM_PATH_STAGE_GROUP=3
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 9 3 0.755 0.123 0.549 1.000
24 8 1 0.671 0.135 0.453 0.996
36 6 0 0.671 0.135 0.453 0.996
48 6 0 0.671 0.135 0.453 0.996
60 5 0 0.671 0.135 0.453 0.996
TNM_PATH_STAGE_GROUP=3A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 2 0.556 0.248 0.231 1
24 2 0 0.556 0.248 0.231 1
36 2 0 0.556 0.248 0.231 1
48 1 0 0.556 0.248 0.231 1
60 1 0 0.556 0.248 0.231 1
TNM_PATH_STAGE_GROUP=3B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 1 0.750 0.217 0.4259 1
24 2 0 0.750 0.217 0.4259 1
36 1 1 0.375 0.286 0.0839 1
48 1 0 0.375 0.286 0.0839 1
60 1 0 0.375 0.286 0.0839 1
TNM_PATH_STAGE_GROUP=4
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 35 32 0.550 0.0594 0.445 0.680
24 25 9 0.405 0.0603 0.302 0.542
36 20 4 0.340 0.0587 0.242 0.477
48 19 0 0.340 0.0587 0.242 0.477
60 18 0 0.340 0.0587 0.242 0.477
120 4 4 0.234 0.0619 0.139 0.393
TNM_PATH_STAGE_GROUP=4A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 17 9 0.641 0.0959 0.478 0.859
24 16 0 0.641 0.0959 0.478 0.859
36 13 3 0.521 0.0999 0.358 0.759
48 10 1 0.477 0.1006 0.316 0.721
60 7 2 0.382 0.1006 0.228 0.640
120 3 2 0.273 0.0970 0.136 0.548
TNM_PATH_STAGE_GROUP=4B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 12 18 0.420 0.0894 0.277 0.638
24 10 1 0.382 0.0891 0.242 0.603
36 6 1 0.344 0.0880 0.208 0.568
48 3 0 0.344 0.0880 0.208 0.568
60 2 0 0.344 0.0880 0.208 0.568
120 1 0 0.344 0.0880 0.208 0.568
TNM_PATH_STAGE_GROUP=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 3 0.5 0.204 0.225 1
24 2 0 0.5 0.204 0.225 1
36 2 0 0.5 0.204 0.225 1
48 1 0 0.5 0.204 0.225 1
TNM_PATH_STAGE_GROUP=99
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 302 142 0.688 0.0217 0.647 0.732
24 227 60 0.548 0.0237 0.504 0.597
36 176 28 0.478 0.0241 0.433 0.528
48 151 9 0.453 0.0242 0.408 0.503
60 137 2 0.447 0.0243 0.401 0.497
120 44 9 0.409 0.0254 0.362 0.462
## Univariable Cox Proportional Hazard Model for: TNM_PATH_STAGE_GROUP
X matrix deemed to be singular; variable 4 8 12 16 18
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
n= 728, number of events= 392
(44 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_STAGE_GROUP1 0.09721 1.10209 0.25790 0.377 0.7062
TNM_PATH_STAGE_GROUP1A -0.85266 0.42628 0.45174 -1.887 0.0591 .
TNM_PATH_STAGE_GROUP1B -0.21898 0.80333 0.58089 -0.377 0.7062
TNM_PATH_STAGE_GROUP1C NA NA 0.00000 NA NA
TNM_PATH_STAGE_GROUP2 -0.36992 0.69079 0.29560 -1.251 0.2108
TNM_PATH_STAGE_GROUP2A 0.28138 1.32496 0.50431 0.558 0.5769
TNM_PATH_STAGE_GROUP2B -0.13170 0.87661 0.50414 -0.261 0.7939
TNM_PATH_STAGE_GROUP2C NA NA 0.00000 NA NA
TNM_PATH_STAGE_GROUP3 -0.67836 0.50745 0.50401 -1.346 0.1783
TNM_PATH_STAGE_GROUP3A -0.20563 0.81413 0.71006 -0.290 0.7721
TNM_PATH_STAGE_GROUP3B -0.16854 0.84490 0.71004 -0.237 0.8124
TNM_PATH_STAGE_GROUP3C NA NA 0.00000 NA NA
TNM_PATH_STAGE_GROUP4 0.39687 1.48717 0.15643 2.537 0.0112 *
TNM_PATH_STAGE_GROUP4A 0.12497 1.13312 0.25066 0.499 0.6181
TNM_PATH_STAGE_GROUP4B 0.54656 1.72731 0.23286 2.347 0.0189 *
TNM_PATH_STAGE_GROUP4C NA NA 0.00000 NA NA
TNM_PATH_STAGE_GROUPN_A 0.29254 1.33982 0.58109 0.503 0.6147
TNM_PATH_STAGE_GROUP99 NA NA 0.00000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_STAGE_GROUP1 1.1021 0.9074 0.6648 1.827
TNM_PATH_STAGE_GROUP1A 0.4263 2.3459 0.1759 1.033
TNM_PATH_STAGE_GROUP1B 0.8033 1.2448 0.2573 2.508
TNM_PATH_STAGE_GROUP1C NA NA NA NA
TNM_PATH_STAGE_GROUP2 0.6908 1.4476 0.3870 1.233
TNM_PATH_STAGE_GROUP2A 1.3250 0.7547 0.4931 3.560
TNM_PATH_STAGE_GROUP2B 0.8766 1.1408 0.3263 2.355
TNM_PATH_STAGE_GROUP2C NA NA NA NA
TNM_PATH_STAGE_GROUP3 0.5074 1.9706 0.1890 1.363
TNM_PATH_STAGE_GROUP3A 0.8141 1.2283 0.2024 3.274
TNM_PATH_STAGE_GROUP3B 0.8449 1.1836 0.2101 3.398
TNM_PATH_STAGE_GROUP3C NA NA NA NA
TNM_PATH_STAGE_GROUP4 1.4872 0.6724 1.0945 2.021
TNM_PATH_STAGE_GROUP4A 1.1331 0.8825 0.6933 1.852
TNM_PATH_STAGE_GROUP4B 1.7273 0.5789 1.0944 2.726
TNM_PATH_STAGE_GROUP4C NA NA NA NA
TNM_PATH_STAGE_GROUPN_A 1.3398 0.7464 0.4290 4.185
TNM_PATH_STAGE_GROUP99 NA NA NA NA
Concordance= 0.555 (se = 0.013 )
Rsquare= 0.029 (max possible= 0.999 )
Likelihood ratio test= 21.76 on 13 df, p=0.05919
Wald test = 20.69 on 13 df, p=0.07921
Score (logrank) test = 21.55 on 13 df, p=0.06274
Removed 6 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 14.



Margins
uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
n events median 0.95LCL 0.95UCL
MARGINS=No Residual 2 1 9.4 9.4 NA
MARGINS=Residual, NOS 1 0 NA NA NA
MARGINS=Macroscopic Resid 2 0 NA NA NA
MARGINS=Not evaluable 4 1 NA 4.7 NA
MARGINS=No surg 456 271 21.1 17.0 29.8
MARGINS=Unknown 307 144 43.0 28.4 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
MARGINS=No Residual
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 1 0.5 0.354 0.125 1
24 1 0 0.5 0.354 0.125 1
MARGINS=Residual, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
MARGINS=Macroscopic Resid
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 2 0 1 0 1 1
36 2 0 1 0 1 1
48 2 0 1 0 1 1
60 2 0 1 0 1 1
120 1 0 1 0 1 1
MARGINS=Not evaluable
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 1 0.75 0.217 0.426 1
24 2 0 0.75 0.217 0.426 1
36 1 0 0.75 0.217 0.426 1
48 1 0 0.75 0.217 0.426 1
60 1 0 0.75 0.217 0.426 1
120 1 0 0.75 0.217 0.426 1
MARGINS=No surg
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 261 170 0.615 0.0232 0.571 0.663
24 191 56 0.479 0.0242 0.434 0.529
36 158 21 0.425 0.0242 0.380 0.475
48 139 4 0.414 0.0242 0.369 0.464
60 132 3 0.405 0.0242 0.360 0.455
120 48 16 0.346 0.0250 0.300 0.398
MARGINS=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 200 81 0.724 0.0262 0.674 0.777
24 159 29 0.616 0.0289 0.562 0.675
36 118 21 0.532 0.0303 0.476 0.595
48 93 8 0.494 0.0309 0.437 0.558
60 74 2 0.482 0.0313 0.425 0.548
120 13 3 0.454 0.0342 0.391 0.526
## Univariable Cox Proportional Hazard Model for: MARGINS
Loglik converged before variable 1,3 ; beta may be infinite. X matrix deemed to be singular; variable 2
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
MARGINSResidual, NOS -1.494e+01 3.262e-07 1.931e+03 -0.008 0.994
MARGINSMicroscopic Resid NA NA 0.000e+00 NA NA
MARGINSMacroscopic Resid -1.493e+01 3.265e-07 1.344e+03 -0.011 0.991
MARGINSNot evaluable -7.064e-01 4.934e-01 1.414e+00 -0.499 0.617
MARGINSNo surg 2.037e-01 1.226e+00 1.002e+00 0.203 0.839
MARGINSUnknown -9.338e-02 9.108e-01 1.004e+00 -0.093 0.926
exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS 3.262e-07 3.066e+06 0.00000 Inf
MARGINSMicroscopic Resid NA NA NA NA
MARGINSMacroscopic Resid 3.265e-07 3.063e+06 0.00000 Inf
MARGINSNot evaluable 4.934e-01 2.027e+00 0.03085 7.891
MARGINSNo surg 1.226e+00 8.157e-01 0.17201 8.738
MARGINSUnknown 9.108e-01 1.098e+00 0.12740 6.512
Concordance= 0.54 (se = 0.013 )
Rsquare= 0.019 (max possible= 0.999 )
Likelihood ratio test= 14.83 on 5 df, p=0.01114
Wald test = 8.94 on 5 df, p=0.1116
Score (logrank) test = 11.85 on 5 df, p=0.03696
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 2 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: MARGINS



Margins Yes/No
#uni_var(test_var = "MARGINS_YN", data_imp = data)
30 Day Readmission
uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 732 398 27.73 23.59 38.5
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 8 7 4.65 1.35 NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same 3 1 NA 2.96 NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same 1 0 NA NA NA
READM_HOSP_30_DAYS_F=9 28 11 NA 26.12 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 444 239 0.662 0.0179 0.627 0.697
24 335 83 0.534 0.0191 0.498 0.573
36 264 40 0.468 0.0194 0.432 0.508
48 220 12 0.446 0.0195 0.409 0.486
60 197 4 0.438 0.0196 0.401 0.478
120 59 19 0.382 0.0212 0.342 0.426
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 6 0.250 0.153 0.0753 0.830
24 1 1 0.125 0.117 0.0200 0.782
36 1 0 0.125 0.117 0.0200 0.782
48 1 0 0.125 0.117 0.0200 0.782
60 1 0 0.125 0.117 0.0200 0.782
120 1 0 0.125 0.117 0.0200 0.782
READM_HOSP_30_DAYS_F=Plan_Readmit_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 1 0.667 0.272 0.3 1
24 2 0 0.667 0.272 0.3 1
36 2 0 0.667 0.272 0.3 1
48 2 0 0.667 0.272 0.3 1
60 2 0 0.667 0.272 0.3 1
120 1 0 0.667 0.272 0.3 1
READM_HOSP_30_DAYS_F=PlanUnplan_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
READM_HOSP_30_DAYS_F=9
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 18 7 0.720 0.0898 0.564 0.919
24 17 1 0.680 0.0933 0.520 0.890
36 13 2 0.597 0.0986 0.432 0.826
48 13 0 0.597 0.0986 0.432 0.826
60 10 1 0.551 0.1012 0.385 0.790
120 2 0 0.551 0.1012 0.385 0.790
## Univariable Cox Proportional Hazard Model for: READM_HOSP_30_DAYS_F
Loglik converged before variable 3 ; beta may be infinite.
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 1.063e+00 2.896e+00 3.819e-01 2.784 0.00537 **
READM_HOSP_30_DAYS_FPlan_Readmit_Same -7.364e-01 4.788e-01 1.002e+00 -0.735 0.46219
READM_HOSP_30_DAYS_FPlanUnplan_Same -1.404e+01 8.012e-07 1.292e+03 -0.011 0.99133
READM_HOSP_30_DAYS_F9 -4.195e-01 6.574e-01 3.058e-01 -1.372 0.17011
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 2.896e+00 3.453e-01 1.36983 6.121
READM_HOSP_30_DAYS_FPlan_Readmit_Same 4.788e-01 2.088e+00 0.06724 3.410
READM_HOSP_30_DAYS_FPlanUnplan_Same 8.012e-07 1.248e+06 0.00000 Inf
READM_HOSP_30_DAYS_F9 6.574e-01 1.521e+00 0.36106 1.197
Concordance= 0.514 (se = 0.006 )
Rsquare= 0.013 (max possible= 0.999 )
Likelihood ratio test= 10.11 on 4 df, p=0.03855
Wald test = 10.34 on 4 df, p=0.03502
Score (logrank) test = 11.99 on 4 df, p=0.01745
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 5 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: READM_HOSP_30_DAYS_F



Radiation Type
uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None 624 353 26.12 21.5 34.3
RX_SUMM_RADIATION_F=Beam Radiation 142 61 NA 26.6 NA
RX_SUMM_RADIATION_F=Radiation, NOS 1 1 9.89 NA NA
RX_SUMM_RADIATION_F=Unknown 5 2 NA 34.8 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
RX_SUMM_RADIATION_F=None
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 373 209 0.652 0.0195 0.615 0.691
24 281 71 0.525 0.0207 0.486 0.567
36 220 38 0.452 0.0209 0.413 0.495
48 185 12 0.426 0.0210 0.387 0.470
60 160 5 0.414 0.0211 0.375 0.458
120 44 17 0.354 0.0230 0.311 0.402
RX_SUMM_RADIATION_F=Beam Radiation
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 91 42 0.695 0.0394 0.622 0.776
24 72 14 0.583 0.0429 0.504 0.673
36 58 3 0.557 0.0436 0.477 0.649
48 49 0 0.557 0.0436 0.477 0.649
60 48 0 0.557 0.0436 0.477 0.649
120 18 2 0.532 0.0449 0.451 0.628
RX_SUMM_RADIATION_F=Radiation, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
RX_SUMM_RADIATION_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 1 0.800 0.179 0.516 1
24 3 0 0.800 0.179 0.516 1
36 2 1 0.533 0.248 0.214 1
48 2 0 0.533 0.248 0.214 1
60 2 0 0.533 0.248 0.214 1
120 1 0 0.533 0.248 0.214 1
## Univariable Cox Proportional Hazard Model for: RX_SUMM_RADIATION_F
X matrix deemed to be singular; variable 2 3 4
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
RX_SUMM_RADIATION_FBeam Radiation -0.3836 0.6814 0.1387 -2.765 0.00569 **
RX_SUMM_RADIATION_FRadioactive Implants NA NA 0.0000 NA NA
RX_SUMM_RADIATION_FRadioisotopes NA NA 0.0000 NA NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes NA NA 0.0000 NA NA
RX_SUMM_RADIATION_FRadiation, NOS 0.9798 2.6640 1.0025 0.977 0.32837
RX_SUMM_RADIATION_FUnknown -0.4440 0.6415 0.7093 -0.626 0.53133
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RX_SUMM_RADIATION_FBeam Radiation 0.6814 1.4676 0.5192 0.8943
RX_SUMM_RADIATION_FRadioactive Implants NA NA NA NA
RX_SUMM_RADIATION_FRadioisotopes NA NA NA NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes NA NA NA NA
RX_SUMM_RADIATION_FRadiation, NOS 2.6640 0.3754 0.3734 19.0049
RX_SUMM_RADIATION_FUnknown 0.6415 1.5589 0.1598 2.5758
Concordance= 0.526 (se = 0.01 )
Rsquare= 0.012 (max possible= 0.999 )
Likelihood ratio test= 9.47 on 3 df, p=0.02366
Wald test = 9.01 on 3 df, p=0.02911
Score (logrank) test = 9.22 on 3 df, p=0.02645
Removed 4 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: RX_SUMM_RADIATION_F



Lymphovascular Invasion
#uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)
Endoscopic/Robotic
uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
456 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg 101 56 16.82 9.53 NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap 2 1 17.15 17.15 NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown 12 11 3.25 0.85 NA
RX_HOSP_SURG_APPR_2010_F=Unknown 201 84 55.62 26.81 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
456 observations deleted due to missingness
RX_HOSP_SURG_APPR_2010_F=No_Surg
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 49 44 0.543 0.0511 0.452 0.653
24 34 7 0.457 0.0524 0.365 0.572
36 23 3 0.414 0.0531 0.322 0.532
48 11 1 0.392 0.0546 0.298 0.515
60 9 0 0.392 0.0546 0.298 0.515
RX_HOSP_SURG_APPR_2010_F=Endo_Lap
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1.0 0.000 1.000 1
24 1 1 0.5 0.354 0.125 1
36 1 0 0.5 0.354 0.125 1
48 1 0 0.5 0.354 0.125 1
60 1 0 0.5 0.354 0.125 1
RX_HOSP_SURG_APPR_2010_F=Open_Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 10 0.167 0.108 0.047 0.591
24 2 0 0.167 0.108 0.047 0.591
36 1 0 0.167 0.108 0.047 0.591
RX_HOSP_SURG_APPR_2010_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 134 43 0.771 0.0307 0.713 0.834
24 103 20 0.652 0.0357 0.586 0.726
36 69 16 0.549 0.0383 0.479 0.630
48 52 3 0.523 0.0393 0.452 0.606
60 33 2 0.500 0.0410 0.425 0.587
## Univariable Cox Proportional Hazard Model for: RX_HOSP_SURG_APPR_2010_F
X matrix deemed to be singular; variable 1 2 4
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
n= 316, number of events= 152
(456 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
RX_HOSP_SURG_APPR_2010_FRobot_Assist NA NA 0.0000 NA NA
RX_HOSP_SURG_APPR_2010_FRobot_to_Open NA NA 0.0000 NA NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap -0.5958 0.5511 1.0094 -0.590 0.55502
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open NA NA 0.0000 NA NA
RX_HOSP_SURG_APPR_2010_FOpen_Unknown 1.0727 2.9232 0.3308 3.242 0.00119 **
RX_HOSP_SURG_APPR_2010_FUnknown -0.5373 0.5843 0.1731 -3.103 0.00191 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FRobot_Assist NA NA NA NA
RX_HOSP_SURG_APPR_2010_FRobot_to_Open NA NA NA NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap 0.5511 1.8145 0.07622 3.9851
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open NA NA NA NA
RX_HOSP_SURG_APPR_2010_FOpen_Unknown 2.9232 0.3421 1.52842 5.5907
RX_HOSP_SURG_APPR_2010_FUnknown 0.5843 1.7113 0.41620 0.8204
Concordance= 0.6 (se = 0.02 )
Rsquare= 0.071 (max possible= 0.994 )
Likelihood ratio test= 23.3 on 3 df, p=3.501e-05
Wald test = 29.16 on 3 df, p=2.071e-06
Score (logrank) test = 33.43 on 3 df, p=2.613e-07
Removed 4 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: RX_HOSP_SURG_APPR_2010_F



Surgery Radiation Sequence
uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone 87 53 28.4 10.5 97.3
SURG_RAD_SEQ=Surg then Rad 20 6 NA 21.2 NA
SURG_RAD_SEQ=Rad Alone 95 47 34.1 18.7 NA
SURG_RAD_SEQ=No Treatment 514 288 25.2 21.5 34.8
SURG_RAD_SEQ=Other 56 23 NA 20.2 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
SURG_RAD_SEQ=Surg Alone
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 50 35 0.589 0.0534 0.493 0.703
24 44 6 0.518 0.0542 0.422 0.636
36 37 4 0.471 0.0541 0.376 0.590
48 30 5 0.407 0.0539 0.314 0.527
60 30 0 0.407 0.0539 0.314 0.527
120 7 3 0.360 0.0544 0.267 0.484
SURG_RAD_SEQ=Surg then Rad
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 16 3 0.847 0.0814 0.702 1.000
24 12 3 0.678 0.1091 0.494 0.929
36 11 0 0.678 0.1091 0.494 0.929
48 10 0 0.678 0.1091 0.494 0.929
60 10 0 0.678 0.1091 0.494 0.929
120 6 0 0.678 0.1091 0.494 0.929
SURG_RAD_SEQ=Rad Alone
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 57 31 0.659 0.0499 0.568 0.765
24 43 11 0.525 0.0537 0.430 0.642
36 36 3 0.487 0.0542 0.391 0.605
48 32 0 0.487 0.0542 0.391 0.605
60 32 0 0.487 0.0542 0.391 0.605
120 12 2 0.456 0.0549 0.360 0.578
SURG_RAD_SEQ=No Treatment
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 312 166 0.664 0.0213 0.624 0.708
24 228 63 0.526 0.0229 0.483 0.573
36 175 33 0.448 0.0232 0.405 0.496
48 147 7 0.430 0.0233 0.386 0.478
60 123 5 0.414 0.0235 0.371 0.463
120 34 13 0.350 0.0264 0.302 0.406
SURG_RAD_SEQ=Other
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 32 18 0.655 0.0660 0.538 0.798
24 29 2 0.614 0.0680 0.494 0.763
36 21 2 0.565 0.0708 0.442 0.722
48 17 0 0.565 0.0708 0.442 0.722
60 15 0 0.565 0.0708 0.442 0.722
120 4 1 0.518 0.0791 0.384 0.699
## Univariable Cox Proportional Hazard Model for: SURG_RAD_SEQ
X matrix deemed to be singular; variable 5 6
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
SURG_RAD_SEQSurg then Rad -0.9694 0.3793 0.4309 -2.250 0.0244 *
SURG_RAD_SEQRad Alone -0.2515 0.7777 0.2004 -1.255 0.2096
SURG_RAD_SEQNo Treatment -0.0677 0.9345 0.1497 -0.452 0.6511
SURG_RAD_SEQOther -0.3972 0.6722 0.2498 -1.590 0.1118
SURG_RAD_SEQRad before and after Surg NA NA 0.0000 NA NA
SURG_RAD_SEQRad then Surg NA NA 0.0000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad 0.3793 2.636 0.1630 0.8825
SURG_RAD_SEQRad Alone 0.7777 1.286 0.5250 1.1519
SURG_RAD_SEQNo Treatment 0.9345 1.070 0.6969 1.2532
SURG_RAD_SEQOther 0.6722 1.488 0.4120 1.0968
SURG_RAD_SEQRad before and after Surg NA NA NA NA
SURG_RAD_SEQRad then Surg NA NA NA NA
Concordance= 0.53 (se = 0.012 )
Rsquare= 0.013 (max possible= 0.999 )
Likelihood ratio test= 10.14 on 4 df, p=0.03808
Wald test = 8.42 on 4 df, p=0.07745
Score (logrank) test = 8.75 on 4 df, p=0.06757
Removed 3 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: SURG_RAD_SEQ



Surgery Yes/No
uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
n events median 0.95LCL 0.95UCL
SURGERY_YN=No 639 346 26.6 23.2 38
SURGERY_YN=Ukn 25 11 76.5 20.2 NA
SURGERY_YN=Yes 108 60 37.9 17.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
SURGERY_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 386 208 0.662 0.0191 0.625 0.700
24 287 74 0.531 0.0205 0.492 0.573
36 221 36 0.462 0.0208 0.423 0.505
48 185 7 0.447 0.0209 0.408 0.490
60 160 5 0.434 0.0211 0.395 0.478
120 46 15 0.377 0.0234 0.334 0.426
SURGERY_YN=Ukn
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 15 6 0.724 0.0959 0.559 0.939
24 13 2 0.628 0.1047 0.453 0.870
36 11 2 0.531 0.1086 0.356 0.793
48 11 0 0.531 0.1086 0.356 0.793
60 10 0 0.531 0.1086 0.356 0.793
120 4 1 0.472 0.1114 0.297 0.750
SURGERY_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 66 39 0.631 0.0469 0.546 0.730
24 56 9 0.544 0.0487 0.457 0.648
36 48 4 0.504 0.0490 0.417 0.610
48 40 5 0.451 0.0492 0.365 0.559
60 40 0 0.451 0.0492 0.365 0.559
120 13 3 0.414 0.0498 0.327 0.524
## Univariable Cox Proportional Hazard Model for: SURGERY_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
SURGERY_YNUkn -0.25971 0.77127 0.30648 -0.847 0.397
SURGERY_YNYes -0.02857 0.97183 0.14014 -0.204 0.838
exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn 0.7713 1.297 0.4230 1.406
SURGERY_YNYes 0.9718 1.029 0.7384 1.279
Concordance= 0.5 (se = 0.01 )
Rsquare= 0.001 (max possible= 0.999 )
Likelihood ratio test= 0.8 on 2 df, p=0.6708
Wald test = 0.74 on 2 df, p=0.691
Score (logrank) test = 0.74 on 2 df, p=0.6897
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: SURGERY_YN



Radiation Yes/No
uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
9 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
RADIATION_YN=No 620 349 26.2 22.4 35.3
RADIATION_YN=Yes 143 62 NA 26.6 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
9 observations deleted due to missingness
RADIATION_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 373 205 0.656 0.0195 0.619 0.695
24 281 71 0.528 0.0208 0.489 0.571
36 220 38 0.455 0.0210 0.416 0.498
48 185 12 0.429 0.0211 0.390 0.473
60 160 5 0.417 0.0212 0.378 0.461
120 44 17 0.356 0.0231 0.313 0.404
RADIATION_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 91 43 0.690 0.0394 0.616 0.771
24 72 14 0.578 0.0428 0.500 0.669
36 58 3 0.552 0.0435 0.473 0.645
48 49 0 0.552 0.0435 0.473 0.645
60 48 0 0.552 0.0435 0.473 0.645
120 18 2 0.528 0.0448 0.448 0.624
## Univariable Cox Proportional Hazard Model for: RADIATION_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
n= 763, number of events= 411
(9 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
RADIATION_YNYes -0.3614 0.6967 0.1379 -2.621 0.00876 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes 0.6967 1.435 0.5317 0.9129
Concordance= 0.523 (se = 0.01 )
Rsquare= 0.01 (max possible= 0.999 )
Likelihood ratio test= 7.46 on 1 df, p=0.0063
Wald test = 6.87 on 1 df, p=0.008762
Score (logrank) test = 6.95 on 1 df, p=0.008402
## Unadjusted Kaplan Meier Overall Survival Curve for: RADIATION_YN



Chemo Yes/No
uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
n events median 0.95LCL 0.95UCL
CHEMO_YN=No 151 88 14.1 6.21 39.9
CHEMO_YN=Yes 601 325 29.8 24.54 48.1
CHEMO_YN=Ukn 20 4 NA NA NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
CHEMO_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 71 67 0.524 0.0423 0.447 0.614
24 54 11 0.440 0.0424 0.364 0.531
36 50 2 0.423 0.0424 0.348 0.515
48 43 3 0.396 0.0425 0.321 0.489
60 40 0 0.396 0.0425 0.321 0.489
120 15 4 0.344 0.0448 0.266 0.444
CHEMO_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 385 184 0.686 0.0192 0.650 0.725
24 292 73 0.553 0.0209 0.513 0.595
36 221 39 0.476 0.0213 0.436 0.520
48 186 9 0.456 0.0214 0.416 0.500
60 163 5 0.443 0.0216 0.403 0.488
120 46 15 0.389 0.0234 0.346 0.438
CHEMO_YN=Ukn
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 11 2 0.867 0.0878 0.711 1.000
24 10 1 0.788 0.1096 0.600 1.000
36 9 1 0.709 0.1238 0.504 0.998
48 7 0 0.709 0.1238 0.504 0.998
60 7 0 0.709 0.1238 0.504 0.998
120 2 0 0.709 0.1238 0.504 0.998
## Univariable Cox Proportional Hazard Model for: CHEMO_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
n= 772, number of events= 417
coef exp(coef) se(coef) z Pr(>|z|)
CHEMO_YNYes -0.3719 0.6894 0.1203 -3.090 0.0020 **
CHEMO_YNUkn -1.2543 0.2853 0.5113 -2.453 0.0142 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes 0.6894 1.450 0.5446 0.8728
CHEMO_YNUkn 0.2853 3.505 0.1047 0.7771
Concordance= 0.552 (se = 0.01 )
Rsquare= 0.018 (max possible= 0.999 )
Likelihood ratio test= 13.89 on 2 df, p=0.000965
Wald test = 13.22 on 2 df, p=0.001347
Score (logrank) test = 13.68 on 2 df, p=0.001072
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: CHEMO_YN



Treatment Yes/No
uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
20 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
Tx_YN=FALSE 90 56 7.92 2.23 30.2
Tx_YN=TRUE 662 357 29.80 24.54 43.0
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
20 observations deleted due to missingness
Tx_YN=FALSE
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 37 47 0.442 0.0542 0.347 0.562
24 28 4 0.393 0.0534 0.301 0.513
36 27 1 0.379 0.0533 0.288 0.499
48 23 1 0.364 0.0533 0.273 0.485
60 20 0 0.364 0.0533 0.273 0.485
120 8 2 0.311 0.0584 0.215 0.449
Tx_YN=TRUE
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 419 204 0.683 0.0184 0.647 0.720
24 318 80 0.549 0.0200 0.511 0.589
36 244 40 0.477 0.0203 0.439 0.519
48 206 11 0.455 0.0205 0.417 0.497
60 183 5 0.443 0.0206 0.405 0.486
120 53 17 0.390 0.0220 0.349 0.436
## Univariable Cox Proportional Hazard Model for: Tx_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
n= 752, number of events= 413
(20 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
Tx_YNTRUE -0.5399 0.5828 0.1439 -3.753 0.000175 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE 0.5828 1.716 0.4396 0.7726
Concordance= 0.541 (se = 0.007 )
Rsquare= 0.016 (max possible= 0.999 )
Likelihood ratio test= 12.35 on 1 df, p=0.0004402
Wald test = 14.09 on 1 df, p=0.0001746
Score (logrank) test = 14.43 on 1 df, p=0.0001454
## Unadjusted Kaplan Meier Overall Survival Curve for: Tx_YN



Tumor specific Variables
Node Size
Cox Proportional Hazard Ratio
Model #1
Full analysis
model_one <- coxph(Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS == 0)
~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F + INCOME_F + U_R_F +
FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F,
data = data)
X matrix deemed to be singular; variable 5 6
model_one %>% summary()
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ + INSURANCE_F + AGE + SEX_F + RACE_F +
INCOME_F + U_R_F + FACILITY_TYPE_F + FACILITY_LOCATION_F +
EDUCATION_F, data = data)
n= 414, number of events= 293
(358 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
SURG_RAD_SEQSurg then Rad -2.280194 0.102264 1.026194 -2.222 0.02628 *
SURG_RAD_SEQRad Alone -0.185526 0.830667 0.259684 -0.714 0.47496
SURG_RAD_SEQNo Treatment -0.107932 0.897688 0.188964 -0.571 0.56788
SURG_RAD_SEQOther -0.324235 0.723080 0.347710 -0.932 0.35108
SURG_RAD_SEQRad before and after Surg NA NA 0.000000 NA NA
SURG_RAD_SEQRad then Surg NA NA 0.000000 NA NA
INSURANCE_FNone 0.133165 1.142439 0.301366 0.442 0.65858
INSURANCE_FMedicaid 0.101660 1.107007 0.247997 0.410 0.68186
INSURANCE_FMedicare -0.108532 0.897150 0.178730 -0.607 0.54369
INSURANCE_FOther Government 0.353103 1.423478 0.612010 0.577 0.56397
INSURANCE_FUnknown -0.660913 0.516380 0.434740 -1.520 0.12845
AGE 0.042637 1.043559 0.006967 6.120 9.36e-10 ***
SEX_FFemale 0.309213 1.362352 0.130086 2.377 0.01745 *
RACE_FBlack 0.432280 1.540766 0.182571 2.368 0.01790 *
RACE_FOther/Unk 0.403703 1.497359 0.480857 0.840 0.40116
RACE_FAsian -0.177439 0.837412 0.316590 -0.560 0.57516
INCOME_F$38,000 - $47,999 0.267164 1.306254 0.227972 1.172 0.24123
INCOME_F$48,000 - $62,999 0.411755 1.509465 0.230768 1.784 0.07438 .
INCOME_F$63,000 + 0.391349 1.478975 0.267570 1.463 0.14358
U_R_FUrban 0.125293 1.133481 0.225677 0.555 0.57877
U_R_FRural 0.038726 1.039486 0.441140 0.088 0.93005
FACILITY_TYPE_FComprehensive Comm Ca Program -0.166225 0.846856 0.307826 -0.540 0.58920
FACILITY_TYPE_FAcademic/Research Program -0.261774 0.769685 0.305008 -0.858 0.39075
FACILITY_TYPE_FIntegrated Network Ca Program 0.205259 1.227844 0.351677 0.584 0.55945
FACILITY_LOCATION_FMiddle Atlantic 0.120588 1.128161 0.401808 0.300 0.76409
FACILITY_LOCATION_FSouth Atlantic 0.264348 1.302581 0.393194 0.672 0.50139
FACILITY_LOCATION_FEast North Central 0.137360 1.147241 0.401225 0.342 0.73209
FACILITY_LOCATION_FEast South Central 0.110091 1.116380 0.455849 0.242 0.80916
FACILITY_LOCATION_FWest North Central 0.237506 1.268083 0.419791 0.566 0.57155
FACILITY_LOCATION_FWest South Central 0.130166 1.139018 0.422257 0.308 0.75788
FACILITY_LOCATION_FMountain -0.226986 0.796932 0.638032 -0.356 0.72202
FACILITY_LOCATION_FPacific 0.186445 1.204959 0.396464 0.470 0.63816
EDUCATION_F13 - 20.9% -0.443761 0.641619 0.201696 -2.200 0.02780 *
EDUCATION_F7 - 12.9% -0.731401 0.481234 0.230276 -3.176 0.00149 **
EDUCATION_FLess than 7% -0.604239 0.546490 0.273255 -2.211 0.02702 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad 0.1023 9.7786 0.01368 0.7642
SURG_RAD_SEQRad Alone 0.8307 1.2039 0.49933 1.3819
SURG_RAD_SEQNo Treatment 0.8977 1.1140 0.61984 1.3001
SURG_RAD_SEQOther 0.7231 1.3830 0.36578 1.4294
SURG_RAD_SEQRad before and after Surg NA NA NA NA
SURG_RAD_SEQRad then Surg NA NA NA NA
INSURANCE_FNone 1.1424 0.8753 0.63286 2.0623
INSURANCE_FMedicaid 1.1070 0.9033 0.68086 1.7999
INSURANCE_FMedicare 0.8971 1.1146 0.63202 1.2735
INSURANCE_FOther Government 1.4235 0.7025 0.42895 4.7238
INSURANCE_FUnknown 0.5164 1.9366 0.22025 1.2107
AGE 1.0436 0.9583 1.02941 1.0579
SEX_FFemale 1.3624 0.7340 1.05575 1.7580
RACE_FBlack 1.5408 0.6490 1.07729 2.2036
RACE_FOther/Unk 1.4974 0.6678 0.58347 3.8427
RACE_FAsian 0.8374 1.1942 0.45025 1.5575
INCOME_F$38,000 - $47,999 1.3063 0.7655 0.83556 2.0421
INCOME_F$48,000 - $62,999 1.5095 0.6625 0.96027 2.3728
INCOME_F$63,000 + 1.4790 0.6761 0.87540 2.4987
U_R_FUrban 1.1335 0.8822 0.72831 1.7641
U_R_FRural 1.0395 0.9620 0.43784 2.4678
FACILITY_TYPE_FComprehensive Comm Ca Program 0.8469 1.1808 0.46322 1.5482
FACILITY_TYPE_FAcademic/Research Program 0.7697 1.2992 0.42334 1.3994
FACILITY_TYPE_FIntegrated Network Ca Program 1.2278 0.8144 0.61630 2.4462
FACILITY_LOCATION_FMiddle Atlantic 1.1282 0.8864 0.51328 2.4796
FACILITY_LOCATION_FSouth Atlantic 1.3026 0.7677 0.60272 2.8151
FACILITY_LOCATION_FEast North Central 1.1472 0.8717 0.52255 2.5187
FACILITY_LOCATION_FEast South Central 1.1164 0.8958 0.45687 2.7279
FACILITY_LOCATION_FWest North Central 1.2681 0.7886 0.55696 2.8872
FACILITY_LOCATION_FWest South Central 1.1390 0.8779 0.49786 2.6059
FACILITY_LOCATION_FMountain 0.7969 1.2548 0.22821 2.7830
FACILITY_LOCATION_FPacific 1.2050 0.8299 0.55399 2.6209
EDUCATION_F13 - 20.9% 0.6416 1.5586 0.43211 0.9527
EDUCATION_F7 - 12.9% 0.4812 2.0780 0.30644 0.7557
EDUCATION_FLess than 7% 0.5465 1.8299 0.31988 0.9336
Concordance= 0.658 (se = 0.018 )
Rsquare= 0.206 (max possible= 1 )
Likelihood ratio test= 95.5 on 33 df, p=5.45e-08
Wald test = 87.43 on 33 df, p=8.176e-07
Score (logrank) test = 92.84 on 33 df, p=1.344e-07
Summary of Model
model_one %>%
tidy(., exponentiate = TRUE) %>%
select(term, estimate, conf.low, conf.high, p.value) %>%
rename(Variable = term,
Hazard_Ratio = estimate) %>%
tbl_df %>%
print(n = nrow(.))
Prediction Logistic Regression Models
Surgery
no_Ukns <- data %>%
filter(SURGERY_YN != "Ukn") %>%
droplevels() %>%
mutate(SURGERY_YN = as.logical(SURGERY_YN))
fit_surg <- glm(SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
data = no_Ukns)
summary(fit_surg)
Call:
glm(formula = SURG_TF ~ AGE_F + SEX_F + RACE_F + INCOME_F + U_R_F +
FACILITY_TYPE_F + FACILITY_LOCATION_F + EDUCATION_F + EXPN_GROUP,
data = no_Ukns)
Deviance Residuals:
Min 1Q Median 3Q Max
-0.38974 -0.19490 -0.10079 0.00705 0.93817
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 0.075349 0.153233 0.492 0.62320
AGE_F(54,64] -0.132040 0.046835 -2.819 0.00507 **
AGE_F(64,74] -0.124657 0.047982 -2.598 0.00975 **
AGE_F(74,100] -0.011618 0.051475 -0.226 0.82156
SEX_FFemale -0.043820 0.036580 -1.198 0.23171
RACE_FBlack 0.028193 0.053622 0.526 0.59936
RACE_FOther/Unk -0.069718 0.127165 -0.548 0.58385
RACE_FAsian 0.002664 0.088595 0.030 0.97603
INCOME_F$38,000 - $47,999 -0.035064 0.063262 -0.554 0.57973
INCOME_F$48,000 - $62,999 0.004362 0.063227 0.069 0.94504
INCOME_F$63,000 + -0.013117 0.072247 -0.182 0.85603
U_R_FUrban 0.019711 0.063134 0.312 0.75506
U_R_FRural -0.046542 0.128576 -0.362 0.71758
FACILITY_TYPE_FComprehensive Comm Ca Program -0.103275 0.084189 -1.227 0.22071
FACILITY_TYPE_FAcademic/Research Program -0.072979 0.082268 -0.887 0.37561
FACILITY_TYPE_FIntegrated Network Ca Program 0.043970 0.098069 0.448 0.65416
FACILITY_LOCATION_FMiddle Atlantic 0.126518 0.118191 1.070 0.28511
FACILITY_LOCATION_FSouth Atlantic 0.055229 0.115622 0.478 0.63317
FACILITY_LOCATION_FEast North Central -0.058578 0.117281 -0.499 0.61775
FACILITY_LOCATION_FEast South Central 0.003538 0.134174 0.026 0.97898
FACILITY_LOCATION_FWest North Central -0.014000 0.122771 -0.114 0.90927
FACILITY_LOCATION_FWest South Central 0.022999 0.124528 0.185 0.85358
FACILITY_LOCATION_FMountain -0.121822 0.156600 -0.778 0.43711
FACILITY_LOCATION_FPacific 0.137284 0.119460 1.149 0.25121
EDUCATION_F13 - 20.9% -0.003932 0.058792 -0.067 0.94671
EDUCATION_F7 - 12.9% 0.081094 0.065873 1.231 0.21908
EDUCATION_FLess than 7% 0.129882 0.075835 1.713 0.08761 .
EXPN_GROUPPre-Expansion 0.133317 0.051058 2.611 0.00939 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
(Dispersion parameter for gaussian family taken to be 0.1149349)
Null deviance: 48.121 on 397 degrees of freedom
Residual deviance: 42.526 on 370 degrees of freedom
(349 observations deleted due to missingness)
AIC: 297.41
Number of Fisher Scoring iterations: 2
exp(cbind("Odds ratio" = coef(fit_surg), confint.default(fit_surg, level = 0.95)))
Odds ratio 2.5 % 97.5 %
(Intercept) 1.0782609 0.7985309 1.4559820
AGE_F(54,64] 0.8763056 0.7994474 0.9605529
AGE_F(64,74] 0.8827999 0.8035633 0.9698498
AGE_F(74,100] 0.9884495 0.8935914 1.0933772
SEX_FFemale 0.9571265 0.8909077 1.0282672
RACE_FBlack 1.0285942 0.9259778 1.1425826
RACE_FOther/Unk 0.9326566 0.7269064 1.1966442
RACE_FAsian 1.0026678 0.8428394 1.1928046
INCOME_F$38,000 - $47,999 0.9655438 0.8529497 1.0930009
INCOME_F$48,000 - $62,999 1.0043713 0.8873103 1.1368760
INCOME_F$63,000 + 0.9869689 0.8566557 1.1371051
U_R_FUrban 1.0199065 0.9011989 1.1542503
U_R_FRural 0.9545247 0.7418955 1.2280941
FACILITY_TYPE_FComprehensive Comm Ca Program 0.9018791 0.7646926 1.0636770
FACILITY_TYPE_FAcademic/Research Program 0.9296207 0.7911863 1.0922770
FACILITY_TYPE_FIntegrated Network Ca Program 1.0449506 0.8622224 1.2664040
FACILITY_LOCATION_FMiddle Atlantic 1.1348702 0.9002059 1.4307063
FACILITY_LOCATION_FSouth Atlantic 1.0567824 0.8424969 1.3255705
FACILITY_LOCATION_FEast North Central 0.9431046 0.7494284 1.1868328
FACILITY_LOCATION_FEast South Central 1.0035445 0.7714852 1.3054063
FACILITY_LOCATION_FWest North Central 0.9860977 0.7752065 1.2543608
FACILITY_LOCATION_FWest South Central 1.0232651 0.8016590 1.3061308
FACILITY_LOCATION_FMountain 0.8853055 0.6513213 1.2033475
FACILITY_LOCATION_FPacific 1.1471541 0.9076889 1.4497947
EDUCATION_F13 - 20.9% 0.9960756 0.8876645 1.1177270
EDUCATION_F7 - 12.9% 1.0844726 0.9531188 1.2339290
EDUCATION_FLess than 7% 1.1386938 0.9814235 1.3211663
EXPN_GROUPPre-Expansion 1.1426125 1.0338047 1.2628723
LS0tCnRpdGxlOiAiQ3V0YW5lb3VzIFQtQ2VsbCBMeW1waG9tYSBBbmFseXNpcyAtIEEgUmV2aWV3IG9mIHRoZSBOQ0RCIgphdXRob3I6ICJSYW1pZSBGYXRoeSIKZGF0ZTogIjEwLzE2LzIwMTkiCm91dHB1dDoKICBodG1sX25vdGVib29rOgogICAgdGhlbWU6IHVuaXRlZAogICAgdG9jOiB5ZXMKICAgIHRvY19mbG9hdDogeWVzCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKYGBge3IsIGVjaG89RkFMU0UsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0V9CgpsaWJyYXJ5KCJnZ3Bsb3QyIikKbGlicmFyeSgiZHBseXIiKQpsaWJyYXJ5KCJ0aWR5ciIpCmxpYnJhcnkoImtuaXRyIikKbGlicmFyeSgidGFibGVvbmUiKQpsaWJyYXJ5KCJmb3JjYXRzIikKbGlicmFyeSgic3Vydml2YWwiKQpsaWJyYXJ5KCJucHN1cnYiKQpsaWJyYXJ5KCJicm9vbSIpCmxpYnJhcnkoInRpYmJsZSIpCmxpYnJhcnkoInJlYWRyIikKbGlicmFyeSgic3Vydm1pbmVyIikKbGlicmFyeSgic3RyaW5nciIpCgoKa25pdHI6Om9wdHNfY2h1bmskc2V0KGVjaG89VFJVRSwgd2FybmluZz1GQUxTRSwgbWVzc2FnZT1UUlVFKQonJSFpbiUnIDwtIGZ1bmN0aW9uKHgseSkhKCclaW4lJyh4LHkpKQpgYGAKCmBgYHtyfQpwX3RhYmxlIDwtIGZ1bmN0aW9uKHRhYl9kYXRhLCAuLi4pIHsKICB0YWJfZGF0YV8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZSh0YWJfZGF0YSkpCiAgCiAgdGFibGVfcCA8LSBkby5jYWxsKENyZWF0ZVRhYmxlT25lLCAKICAgICAgICAgICAgICAgICAgICAgbGlzdChkYXRhID0gYXMubmFtZSh0YWJfZGF0YV8yKSwgaW5jbHVkZU5BID0gVFJVRSwgLi4uKSkKICB0YWJsZV9wX291dCA8LSBwcmludCh0YWJsZV9wLAogICAgICAgICAgICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFLAogICAgICAgICAgICAgICAgICAgICAgIHByaW50VG9nZ2xlID0gRkFMU0UpCiAga2FibGUodGFibGVfcF9vdXQsCiAgICAgICAgYWxpZ24gPSAiYyIpCn0KYGBgCgpgYGB7cn0KdW5pX3ZhciA8LSBmdW5jdGlvbih0ZXN0X3ZhciwgZGF0YV9pbXApIHsKCiAgICAgICAgICAgICAgICAKICAgICAgICBjYXQoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXyIpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIAogICAgICAgIGYgPC0gYXMuZm9ybXVsYShwYXN0ZSgiU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcy5uYW1lKHRlc3RfdmFyKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VwID0gIiB+ICIgKSkKICAgICAgICAKICAgICAgICBkYXRhX2ltcF8yIDwtIGRlcGFyc2Uoc3Vic3RpdHV0ZShkYXRhX2ltcCkpCgogICAgICAgIGttX2ZpdCA8LSBkby5jYWxsKCJzdXJ2Zml0IiwgbGlzdChmb3JtdWxhID0gZiwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKICAgICAgICBwcmludChrbV9maXQpCiAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIHByaW50KHN1bW1hcnkoa21fZml0LCB0aW1lcyA9IGMoMTIsIDI0LCAzNiwgNDgsIDYwLCAxMjApKSkKICAgICAgICBjYXQoIlxuIikKCgogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiICAgXG4jIyBVbml2YXJpYWJsZSBDb3ggUHJvcG9ydGlvbmFsIEhhemFyZCBNb2RlbCBmb3I6ICIsIHRlc3RfdmFyKQogICAgICAgIGNhdCgiXG4iKQogICAgICAgIGNhdCgiXG4iKQoKCiAgICAgICAgbl9sZXZlbHMgPC0gbmxldmVscyhkYXRhX2ltcFtbdGVzdF92YXJdXSkKCiAgICAgICAgaWYobl9sZXZlbHMgPT0gMSl7CiAgICAgICAgICAgICAgICBwcmludCgiT25seSBvbmUgbGV2ZWwsIG5vIENveCBtb2RlbCBwZXJmb3JtZWQiKQogICAgICAgICAgICAgICAgY2F0KCJcbiIpCgogICAgICAgIH0gZWxzZSB7CgoKICAgICAgICAgICAgICAgIGNveF9maXQgPC0gZG8uY2FsbCgiY294cGgiLCBsaXN0KGZvcm11bGEgPSBmLCBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSkpCgogICAgICAgICAgICAgICAgcHJpbnQoc3VtbWFyeShjb3hfZml0KSkKICAgICAgICAgICAgICAgIGNhdCgiXG4iKQogICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBkby5jYWxsKCJnZ2ZvcmVzdCIsCiAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KG1vZGVsID0gY294X2ZpdCwgZGF0YSA9IGFzLm5hbWUoZGF0YV9pbXBfMikpKQoKCiAgICAgICAgfQoKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIiAgIFxuIyMgVW5hZGp1c3RlZCBLYXBsYW4gTWVpZXIgT3ZlcmFsbCBTdXJ2aXZhbCBDdXJ2ZSBmb3I6ICIsIHRlc3RfdmFyKQoKCiAgICAgICAgcCA8LSBkby5jYWxsKCJnZ3N1cnZwbG90IiwKICAgICAgICAgICAgICAgICAgICAgbGlzdChmaXQgPSBrbV9maXQsIGRhdGEgPSBhcy5uYW1lKGRhdGFfaW1wXzIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGUgPSAiamNvIiwgY2Vuc29yID0gRkFMU0UsIGxlZ2VuZCA9ICJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXR5cGUgPSAic3RyYXRhIiwgeGxhYiA9ICJUaW1lIChNb250aHMpIikpCgogICAgICAgIHByaW50KHApCgp9CgpgYGAKCmBgYHtyIGNodW5rMiwgY2FjaGU9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmNvbC53aWR0aCA8LSBjKDM3LCAxMCwgMSwgMSwgMywgMSwgMiwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgOCwgMiwgMiwgMiwgNCwgNCwgMSwgNCwgMSwgMSwKICAgICAgICAgICAgICAgMSwgMywgMiwgMiwgOCwgMiwgNSwgNSwgNSwgNCwgNSwgNSwgNSw0LCAyLCAxLCAyLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAzLAogICAgICAgICAgICAgICAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA2LCA4LAogICAgICAgICAgICAgICA4LCA4LCAyLCAxLCAxLCAxLCAxLCA4LCAxLCAxLCA4LCAxLCAxLCAyLCAyLCA1LCAyLCA1LCAzLCAxLCAzLCAxLCA4LCA4LCAyLCA4LAogICAgICAgICAgICAgICAyLCA4LCAyLCAyLCAxLCA4LCAxLCAxLCAxLCAxLCAxLCA4LCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAyLCAxLCAzLCAxLCAxLAogICAgICAgICAgICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxKQoKY29sLm5hbWVzLmFiciA8LSBjKCJQVUZfQ0FTRV9JRCIsICJQVUZfRkFDSUxJVFlfSUQiLCAiRkFDSUxJVFlfVFlQRV9DRCIsICJGQUNJTElUWV9MT0NBVElPTl9DRCIsCiAgICAgICAgICAgICAgICAgICAiQUdFIiwgIlNFWCIsICJSQUNFIiwgIlNQQU5JU0hfSElTUEFOSUNfT1JJR0lOIiwgIklOU1VSQU5DRV9TVEFUVVMiLAogICAgICAgICAgICAgICAgICAgIk1FRF9JTkNfUVVBUl8wMCIsICJOT19IU0RfUVVBUl8wMCIsICJVUl9DRF8wMyIsICJNRURfSU5DX1FVQVJfMTIiLCAiTk9fSFNEX1FVQVJfMTIiLAogICAgICAgICAgICAgICAgICAgIlVSX0NEXzEzIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwgIlNFUVVFTkNFX05VTUJFUiIsICJDTEFTU19PRl9DQVNFIiwKICAgICAgICAgICAgICAgICAgICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiTEFURVJBTElUWSIsICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREUiLAogICAgICAgICAgICAgICAgICAgIkRJQUdOT1NUSUNfQ09ORklSTUFUSU9OIiwgIlRVTU9SX1NJWkUiLCAiUkVHSU9OQUxfTk9ERVNfUE9TSVRJVkUiLAogICAgICAgICAgICAgICAgICAgIlJFR0lPTkFMX05PREVTX0VYQU1JTkVEIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlJYX1NVTU1fRFhTVEdfUFJPQyIsICJUTk1fQ0xJTl9UIiwKICAgICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLCAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIlROTV9FRElUSU9OX05VTUJFUiIsICJBTkFMWVRJQ19TVEFHRV9HUk9VUCIsICJDU19NRVRTX0FUX0RYIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0VWQUwiLCAiQ1NfRVhURU5TSU9OIiwgIkNTX1RVTU9SX1NJWkVFWFRfRVZBTCIsICJDU19NRVRTX0RYX0JPTkUiLCAiQ1NfTUVUU19EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfTUVUU19EWF9MSVZFUiIsICJDU19NRVRTX0RYX0xVTkciLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04iLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8zIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl81IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzciLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzkiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEyIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTMiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTQiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE2IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE3IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTgiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOSIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIxIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjIiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI1IiwKICAgICAgICAgICAgICAgICAgICJDU19WRVJTSU9OX0xBVEVTVCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLCAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCIsICJSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU0NPUEVfUkVHX0xOX1NVUiIsICJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIlJFQURNX0hPU1BfMzBfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUkVBU09OX0ZPUl9OT19TVVJHRVJZIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9SQURJQVRJT04iLCAiUkFEX0xPQ0FUSU9OX09GX1JYIiwKICAgICAgICAgICAgICAgICAgICJSQURfVFJFQVRfVk9MIiwgIlJBRF9SRUdJT05BTF9SWF9NT0RBTElUWSIsICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLCAiUkFEX0JPT1NUX1JYX01PREFMSVRZIiwKICAgICAgICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX05VTV9UUkVBVF9WT0wiLCAiUlhfU1VNTV9TVVJHUkFEX1NFUSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1JBRElBVElPTiIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSE9STU9ORSIsICJEWF9JTU1VTk9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSU1NVU5PVEhFUkFQWSIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9UUk5TUExOVF9FTkRPIiwgIlJYX1NVTU1fU1lTVEVNSUNfU1VSX1NFUSIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9PVEhFUiIsCiAgICAgICAgICAgICAgICAgICAiUEFMTElBVElWRV9DQVJFIiwgIlJYX1NVTU1fVFJFQVRNRU5UX1NUQVRVUyIsICJQVUZfMzBfREFZX01PUlRfQ0QiLCAiUFVGXzkwX0RBWV9NT1JUX0NEIiwKICAgICAgICAgICAgICAgICAgICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAiUFVGX1ZJVEFMX1NUQVRVUyIsICJSWF9IT1NQX1NVUkdfUFJJTV9TSVRFIiwgIlJYX0hPU1BfQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIlJYX0hPU1BfSU1NVU5PVEhFUkFQWSIsICJSWF9IT1NQX0hPUk1PTkUiLCAiUlhfSE9TUF9PVEhFUiIsICJQVUZfTVVMVF9TT1VSQ0UiLCAiUkVGRVJFTkNFX0RBVEVfRkxBRyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fMjAxMiIsICJSWF9IT1NQX0RYU1RHX1BST0MiLCAiUEFMTElBVElWRV9DQVJFX0hPU1AiLCAiVFVNT1JfU0laRV9TVU1NQVJZIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX09USEVSIiwgIk1FVFNfQVRfRFhfRElTVEFOVF9MTiIsICJNRVRTX0FUX0RYX0JPTkUiLCAiTUVUU19BVF9EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiTUVUU19BVF9EWF9MSVZFUiIsICJNRVRTX0FUX0RYX0xVTkciLCAiTk9fSFNEX1FVQVJfMTYiLCAiTUVEX0lOQ19RVUFSXzE2IiwgIk1FRElDQUlEX0VYUE5fQ09ERSIpCgoKCiNSZWFkIGluIGRhdGEgZm9yIGVhY2ggc3Vic2l0ZQpsaXAgPC0gcmVhZF9md2YoJ05DREJQVUZfTGlwLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm1lbGFub21hIDwtIHJlYWRfZndmKCdOQ0RCUFVGX01lbGFub21hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAgICAgICAgICAgICAgICAgICAgICAKc2tpbiA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdFNraW4uMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ2V4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ0V4dHIuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ25kYWwgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ05kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExOZGFsLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCmJyZWFzdCA8LSAgcmVhZF9md2YoJ05DREJQVUZfQnJlYXN0LjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnZ1bHZhIDwtICByZWFkX2Z3ZignTkNEQlBVRl9WdWx2YS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgp2YWdpbmEgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1ZhZ2luYS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpwZW5pcyA8LSAgcmVhZF9md2YoJ05DREJQVUZfUGVuaXMuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKI0NvbWJpbmUgZGF0YSBmb3IgYWxsIHN1YnNpdGVzCmRhdCA8LSBiaW5kX3Jvd3MobGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIAogICAgICAgICAgICAgICAgIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcm0obGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcHJpbV9zaXRlX3RleHQgPC0gZGF0YV9mcmFtZShQUklNQVJZX1NJVEUgPSBjKAojTkhMIHNpdGVzCiJDMDk4IiwKIkMwOTkiLAoiQzExMSIsCiJDMTQyIiwKIkMzNzkiLAoiQzQyMiIsCiJDNzcwIiwKIkM3NzEiLAoiQzc3MiIsCiJDNzczIiwKIkM3NzQiLAogIkM3NzUiLAoiQzc3OCIsCiJDNzc5IiksCgpTSVRFX1RFWFQgPSBjKAogICJDMDkuOCBUb25zaWw6IE92ZXJsYXBwaW5nIiwKICAiQzA5LjkgPSBUb25zaWwgTk9TIiwKICAiQzExLjEgTmFzb3BoYXJ5bng6IFBvc3RlciBXYWxsIiwgCiAgIkMxNC4yIFdhbGRleWVyIFJpbmciLAogICJDMzcuOSBUaHltdXMiLAogICJDNDIuMiBTcGxlZW4iLAogICJDNzcuMCBMeW1waCBOb2RlczogSGVhZEZhY2VOZWNrIiwKICAiQzc3LjEgSW50cmF0aG9yYWNpYyBMeW1waCBOb2RlcyIsCiAgIkM3Ny4yIEludHJhLWFiZG9taW5hbCBMeW1waE5vZGVzIiwKICAiQzc3LjMgTHltcGggTm9kZXMgb2YgYXhpbGxhIG9yIGFybSAiLAogICJDNzcuNCBMeW1waCBOb2RlczogTGVnIiwKICAiQzc3LjUgUGVsdmljIEx5bXBoIE5vZGVzIiwKICAiQzc3LjggTHltcGggTm9kZXM6IG11bHRpcGxlIHJlZ2lvbiIsCiAgIkM3Ny45IEx5bXBoIE5vZGUgTk9TIikpCgoKZGF0IDwtIG1lcmdlKGRhdCwgcHJpbV9zaXRlX3RleHQsIGJ5ID0gIlBSSU1BUllfU0lURSIsIGFsbC54ID0gVFJVRSkgCiAKcm0ocHJpbV9zaXRlX3RleHQpCgojIGNvbnZlcnQgbnVtZXJpYyB2YXJpYWJsZXMgZnJvbSBjaGFyYWN0ZXIgY2xhc3MgdG8gbnVtZXJpYyBjbGFzcwpudW1fdmFycyA8LSBjKCJBR0UiLCAiQ1JPV0ZMWSIsICJUVU1PUl9TSVpFIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIlNVUkdfRElTQ0hBUkdFX0RBWVMiLCAiRFhfUkFEX1NUQVJURURfREFZUyIsICAiUkFEX1JFR0lPTkFMX0RPU0VfQ0dZIiwKICAgICAgICAgICAgICAiUkFEX0JPT1NUX0RPU0VfQ0dZIiwgIlJBRF9FTEFQU0VEX1JYX0RBWVMiLCAiRFhfU1lTVEVNSUNfU1RBUlRFRF9EQVlTIiwgIkRYX0NIRU1PX1NUQVJURURfREFZUyIsIAogICAgICAgICAgICAgICJEWF9IT1JNT05FX1NUQVJURURfREFZUyIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTIiwKICAgICAgICAgICAgICAiUkFEX05VTV9UUkVBVF9WT0wiKQoKZGF0W251bV92YXJzXSA8LSBsYXBwbHkoZGF0W251bV92YXJzXSwgYXMubnVtZXJpYykKCgojIGNvbnZlcnQgZmFjdG9yIHZhcmlhYmxlcyBmcm9tIGNoYXJhY3RlciBjbGFzcyB0byBmYWN0b3IgY2xhc3MKdmFycyA8LSBuYW1lcyhkYXQpCmZhY3RfdmFycyA8LSB2YXJzWyEodmFycyAlaW4lIG51bV92YXJzKV0gIyBiYXNpY2FsbHkgYWxsIG9mIHRoZSBub24tbnVtZXJpY3MKCmRhdFtmYWN0X3ZhcnNdIDwtIGxhcHBseShkYXRbZmFjdF92YXJzXSwgYXMuY2hhcmFjdGVyKQpkYXRbZmFjdF92YXJzXSA8LSBsYXBwbHkoZGF0W2ZhY3RfdmFyc10sIGFzLmZhY3RvcikKCmRhdCA8LSBkYXQgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX1RZUEVfRiA9IGZjdF9yZWNvZGUoRkFDSUxJVFlfVFlQRV9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tbXVuaXR5IENhbmNlciBQcm9ncmFtIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29tcHJlaGVuc2l2ZSBDb21tIENhIFByb2dyYW0iID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBY2FkZW1pYy9SZXNlYXJjaCBQcm9ncmFtIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50ZWdyYXRlZCBOZXR3b3JrIENhIFByb2dyYW0iID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoRkFDSUxJVFlfTE9DQVRJT05fRiA9IGZjdF9yZWNvZGUoRkFDSUxJVFlfTE9DQVRJT05fQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5ldyBFbmdsYW5kIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWlkZGxlIEF0bGFudGljIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU291dGggQXRsYW50aWMiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXN0IE5vcnRoIENlbnRyYWwiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXN0IFNvdXRoIENlbnRyYWwiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IE5vcnRoIENlbnRyYWwiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IFNvdXRoIENlbnRyYWwiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNb3VudGFpbiIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBhY2lmaWMiID0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvdXQgb2YgVVMiID0gIjAiKSkgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX0dFT0dSQVBIWSA9IGZjdF9jb2xsYXBzZShGQUNJTElUWV9MT0NBVElPTl9DRCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb3J0aGVhc3QiID0gYygiMSIsICIyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU291dGgiID0gYygiMyIsICI3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWlkd2VzdCIgPSBjKCI0IiwgIjUiLCAiNiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldlc3QiID0gYygiOCIsICI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoQUdFX0YgPSBjdXQoQUdFLCBjKDAsIDU0LCA2NCwgNzQsIDEwMCkpKSAlPiUKICAgICAgICBtdXRhdGUoQUdFXzQwID0gY3V0KEFHRSwgYygwLCA0MCwgMTAwKSkpICU+JQogICAgICAgIG11dGF0ZShTRVhfRiA9IGZjdF9yZWNvZGUoU0VYLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNYWxlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmVtYWxlIiA9ICIyIikpICU+JQogICAgICAgIG11dGF0ZShSQUNFX0YgPSBmY3RfY29sbGFwc2UoUkFDRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2hpdGUiID0gYygiMDEiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmxhY2siID0gYygiMDIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXNpYW4iID0gYygiMDQiLCAiMDUiLCAiMDYiLCAiMDciLCAiMDgiLCAiMTAiLCAiMTEiLCAiMTIiLCAiMTMiLCAiMTQiLCAiMTUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxNiIsICIxNyIsICIyMCIsICIyMSIsICIyMiIsICIyNSIsICIyNiIsICIyNyIsICIyOCIsICIzMCIsICIzMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjMyIiwgIjk2IiwgIjk3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyL1VuayIgPSBjKCIwMyIsICI5OCIsICI5OSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1BBTklDID0gZmN0X2NvbGxhcHNlKFNQQU5JU0hfSElTUEFOSUNfT1JJR0lOLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjEiLCAiMiIsICIzIiwgIjQiLCAiNSIsICI2IiwgIjciLCAiOCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSBjKCI5IikpKSAlPiUKICAgICAgICBtdXRhdGUoSU5TVVJBTkNFX0YgPSBmY3RfcmVjb2RlKElOU1VSQU5DRV9TVEFUVVMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQcml2YXRlIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWNhaWQiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNZWRpY2FyZSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIEdvdmVybm1lbnQiID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShJTlNVUkFOQ0VfRiA9IGZjdF9yZWxldmVsKElOU1VSQU5DRV9GLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQcml2YXRlIikpICU+JQogICAgICAgIG11dGF0ZShJTkNPTUVfRiA9IGZjdF9yZWNvZGUoTUVEX0lOQ19RVUFSXzEyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMZXNzIHRoYW4gJDM4LDAwMCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQzOCwwMDAgLSAkNDcsOTk5IiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDQ4LDAwMCAtICQ2Miw5OTkiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkNjMsMDAwICsiID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKEVEVUNBVElPTl9GID0gZmN0X3JlY29kZShOT19IU0RfUVVBUl8xMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyMSUgb3IgbW9yZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTMgLSAyMC45JSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNyAtIDEyLjklIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMZXNzIHRoYW4gNyUiID0gIjQiKSkgJT4lCiAgICAgICAgbXV0YXRlKFVfUl9GID0gZmN0X2NvbGxhcHNlKFVSX0NEXzEzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWV0cm8iID0gYygiMSIsICIyIiwgIjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVyYmFuIiA9IGMoIjQiLCAiNSIsICI2IiwgIjciKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJ1cmFsIiA9IGMoIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKENMQVNTX09GX0NBU0VfRiA9IGZjdF9jb2xsYXBzZShDTEFTU19PRl9DQVNFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsX1BhcnRfUHJpbSA9IGMoIjEwIiwgIjExIiwgIjEyIiwgIjEzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxNCIsICIyMCIsICIyMSIsICIyMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3RoZXJfRmFjaWxpdHkgPSBjKCIwMCIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEdSQURFX0YgPSBmY3RfcmVjb2RlKEdSQURFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIEk6IFdlbGwgRGlmZiIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSUk6IE1vZCBEaWZmIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJSUk6IFBvb3IgRGlmZiIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSVY6IFVuZGlmZi9BbmFwbGFzdGljIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOQS9Vbmtvd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GID0gZmN0X2luZnJlcShISVNUT0xPR1kpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0YgPSBmYWN0b3IoSElTVE9MT0dZX0YpKSAlPiUKICAgICAgICBtdXRhdGUoSElTVE9MT0dZX0ZfTElNID0gZmN0X2x1bXAoSElTVE9MT0dZX0YsIHByb3AgPSAwLjA1KSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1QgPSBmY3RfcmVjb2RlKFROTV9DTElOX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9UID0gZmN0X3JlbGV2ZWwoVE5NX0NMSU5fVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxIikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9OID0gZmN0X3JlY29kZShUTk1fQ0xJTl9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fTSA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1QgPSBmY3RfcmVjb2RlKFROTV9QQVRIX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9UID0gZmN0X3JlbGV2ZWwoVE5NX1BBVEhfVCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxIikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9OID0gZmN0X3JlY29kZShUTk1fUEFUSF9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfTSA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfTSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX1NUQUdFX0dST1VQID0gZmN0X3JlY29kZShUTk1fQ0xJTl9TVEFHRV9HUk9VUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX1NUQUdFX0dST1VQID0gZmN0X3JlY29kZShUTk1fUEFUSF9TVEFHRV9HUk9VUCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKE1BUkdJTlMgPSBmY3RfcmVjb2RlKFJYX1NVTU1fU1VSR0lDQUxfTUFSR0lOUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJlc2lkdWFsIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJlc2lkdWFsLCBOT1MiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWljcm9zY29waWMgUmVzaWQiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFjcm9zY29waWMgUmVzaWQiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm90IGV2YWx1YWJsZSIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKE1BUkdJTlNfWU4gPSBmY3RfY29sbGFwc2UoUlhfU1VNTV9TVVJHSUNBTF9NQVJHSU5TLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMSIsICIyIiwgIjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iID0gYygiMCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnL1Vuay9OQSIgPSBjKCI3IiwgIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFJFQURNX0hPU1BfMzBfREFZU19GID0gZmN0X3JlY29kZShSRUFETV9IT1NQXzMwX0RBWVMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9fU3VyZ19vcl9Ob19SZWFkbWl0IiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbnBsYW5fUmVhZG1pdF9TYW1lIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQbGFuX1JlYWRtaXRfU2FtZSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGxhblVucGxhbl9TYW1lIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShSWF9TVU1NX1JBRElBVElPTl9GID0gZmN0X3JlY29kZShSWF9TVU1NX1JBRElBVElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbmUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmVhbSBSYWRpYXRpb24iID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaW9hY3RpdmUgSW1wbGFudHMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkaW9pc290b3BlcyIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCZWFtICsgSW1wIG9yIElzb3RvcGVzIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlhdGlvbiwgTk9TIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFBVRl8zMF9EQVlfTU9SVF9DRF9GID0gZmN0X3JlY29kZShQVUZfMzBfREFZX01PUlRfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxpdmVfMzAiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYWRfMzAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFBVRl85MF9EQVlfTU9SVF9DRF9GID0gZmN0X3JlY29kZShQVUZfOTBfREFZX01PUlRfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxpdmVfOTAiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYWRfOTAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKExZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YgPSBmY3RfcmVjb2RlKExZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTmVnX0x5bXBoVmFzY19JbnYiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUG9zX0x1bXBoVmFzY19JbnYiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiA9IGZjdF9yZWNvZGUoUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9fU3VyZyIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJvYm90X0Fzc2lzdCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJvYm90X3RvX09wZW4iID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmRvX0xhcCIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkVuZG9fTGFwX3RvX09wZW4iID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPcGVuX1Vua25vd24iID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShBbGwgPSAiQWxsIikgJT4lCiAgICAgICAgbXV0YXRlKEFsbCA9IGZhY3RvcihBbGwpKSAlPiUKICAgICAgICBtdXRhdGUoUkVBU09OX0ZPUl9OT19TVVJHRVJZX0YgPSBmY3RfcmVjb2RlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHBlcmZvcm1lZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBub3QgcmVjb21tZW5kZWQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcgZHVlIHRvIHB0IGZhY3RvcnMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIHN1cmcsIHB0IGRpZWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCBub3QgZG9uZSIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyByZWMsIHB0IHJlZnVzZWQiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCB1bmsgaWYgZG9uZSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGlmZWxzZShSRUFTT05fRk9SX05PX1NVUkdFUlkgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSRUFTT05fRk9SX05PX1NVUkdFUlkgPT0gIjkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVWtuIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIikpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19URiA9IGNhc2Vfd2hlbihTVVJHRVJZX1lOID09ICJZZXMiIH4gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTVVJHRVJZX1lOID09ICJObyIgfiBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gTkEpKSAgJT4lCiAgICAgICAgbXV0YXRlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OX0YgPSBmY3RfcmVjb2RlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBwZXJmb3JtZWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBub3QgcmVjb21tZW5kZWQiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJhZCBkdWUgdG8gcHQgZmFjdG9ycyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gUmFkLCBwdCBkaWVkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcmVjLCBub3QgZG9uZSIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgcHQgcmVmdXNlZCIgPSAiNyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgdW5rIGlmIGRvbmUiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFJBRElBVElPTl9ZTiA9IGlmZWxzZShSRUFTT05fRk9SX05PX1JBRElBVElPTiA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OID09ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTkEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdSQURfU0VRX0YgPSBmY3RfcmVjb2RlKFJYX1NVTU1fU1VSR1JBRF9TRVEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIG9yIFN1cmcgb3IgUmFkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgU3VyZyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIGJlZm9yZSBSYWQiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRyYW9wIFJhZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJJbnRyYW9wIFJhZCBwbHVzIG90aGVyIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUSA9IGlmZWxzZShTVVJHRVJZX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIk5vIiAmIFJBRElBVElPTl9ZTiA9PSAiTm8iICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUcmVhdG1lbnQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHRoZW4gU3VyZyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRID0gZmN0X3JlbGV2ZWwoU1VSR19SQURfU0VRLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBBbG9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBBbG9uZSIpKSAlPiUKICAgICAgICBtdXRhdGUoQ0hFTU9fWU4gPSBmY3RfY29sbGFwc2UoUlhfU1VNTV9DSEVNTywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAwIiwgIjgyIiwgIjg1IiwgIjg2IiwgIjg3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiID0gYygiMDEiLCAiMDIiLCAiMDMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVrbiIgPSBjKCI4OCIsICI5OSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUV9DID0gaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZywgTm8gcmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQsIE5vIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBTdXJnLCBObyBSYWQsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmcsIE5vIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnLCBObyByYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSQURJQVRJT05fWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCwgTm8gU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFN1cmcsIE5vIFJhZCwgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMiIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIzIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgdGhlbiBSYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIGJlZm9yZSBhbmQgYWZ0ZXIgU3VyZywgWWVzIENoZW1vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiKSkpKSkpKSkpKSkpKSAlPiUKICAgICAgICBtdXRhdGUoU1VSR19SQURfU0VRX0MgPSBmY3RfaW5mcmVxKFNVUkdfUkFEX1NFUV9DKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGFzLm51bWVyaWMoVFVNT1JfU0laRSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBpZmVsc2UoVF9TSVpFID09IDAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID4gMCAmIFRfU0laRSA8IDEwIHwgVF9TSVpFID09IDk5MSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjwgMSBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMTAgJiBUX1NJWkUgPCAyMCB8IFRfU0laRSA9PSA5OTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS0yIGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMjAgJiBUX1NJWkUgPCAzMCB8IFRfU0laRSA9PSA5OTMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjItMyBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSAzMCAmIFRfU0laRSA8IDQwIHwgVF9TSVpFID09IDk5NCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNDAgJiBUX1NJWkUgPCA1MCB8IFRfU0laRSA9PSA5OTUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNC01IGNtIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNTAgJiBUX1NJWkUgPCA2MCB8IFRfU0laRSA9PSA5OTYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjUtNiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+PSA2MCAmIFRfU0laRSA8PSA5ODcgfAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRfU0laRSA9PSA5ODAgfCBUX1NJWkUgPT0gOTg5IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUX1NJWkUgPT0gOTk3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI+NiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA9PSA5ODggfCBUX1NJWkUgPT0gOTk5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTkFfdW5rIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pY3Jvc2NvcGljIGZvY3VzIikpKSkpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGZhY3RvcihUX1NJWkUpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gZmN0X3JlbGV2ZWwoVF9TSVpFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFR1bW9yIiwgIk1pY3Jvc2NvcGljIGZvY3VzIiwgIjwgMSBjbSIsICIxLTIgY20iLCAiMi0zIGNtIiwgIjMtNCBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI0LTUgY20iLCAiNS02IGNtIiwgIj42IGNtIiwgIk5BX3VuayIpKSAlPiUKICAgICAgICBtdXRhdGUobWV0c19hdF9keCA9IGNhc2Vfd2hlbihDU19NRVRTX0RYX0xVTkcgPT0gIjEiIH4gIkx1bmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfQk9ORSA9PSAiMSIgfiAiQm9uZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1NfTUVUU19EWF9CUkFJTiA9PSAiMSIgfiAiQnJhaW4iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfTElWRVIgPT0gIjEiIH4gIkxpdmVyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFIH4gIk5vbmUvT3RoZXIvVW5rL05BIikpICU+JQogICAgICAgIG11dGF0ZShNRURJQ0FJRF9FWFBOX0NPREUgPSBmY3RfcmVjb2RlKE1FRElDQUlEX0VYUE5fQ09ERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uLUV4cGFuc2lvbiBTdGF0ZSIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkphbiAyMDE0IEV4cGFuc2lvbiBTdGF0ZXMiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXBwcmVzc2VkIGZvciBBZ2VzIDAgLSAzOSIgPSAiOSIpKSAgJT4lCiAgICAgICAgbXV0YXRlKEVYUE5fR1JPVVAgPSAgY2FzZV93aGVuKE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTQiLCAiMjAxNSIpIH4gIlBvc3QtRXhwYW5zaW9uIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIsICIyMDE0IiwgIjIwMTUiKSB+ICJQb3N0LUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMDQiLCAiMjAwNSIsICIyMDA2IiwgIjIwMDciLCAiMjAwOCIsICIyMDA5IikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJOb24tRXhwYW5zaW9uIFN0YXRlIikgfiAiUHJlLUV4cGFuc2lvbiIsCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIikgfiAiUHJlLUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAlaW4lIGMoIkxhdGUgRXhwYW5zaW9uIFN0YXRlcyAoPiBKYW4gMjAxNCkiKSAmIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDE0IiwgIjIwMTUiKSB+ICJFeGNsdWRlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSA9PSAiU3VwcHJlc3NlZCBmb3IgQWdlcyAwIC0gMzkiIH4gIkV4Y2x1ZGUiKSkgJT4lCiAgCiAgbXV0YXRlKHByZV8yMDE0ID0gWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjAwOSIsICIyMDEwIiwgIjIwMTEiLCAiMjAxMiIsICIyMDEzIikpICU+JQogIAogIG11dGF0ZShtZXRzX2F0X2R4X0YgPSBpZmVsc2UobWV0c19hdF9keCA9PSAiTm9uZS9PdGhlci9VbmsvTkEiLCBGQUxTRSwgVFJVRSkpICU+JSAKICAKICBtdXRhdGUoVHhfWU4gPSBpZmVsc2UoU1VSR19SQURfU0VRID09ICJObyBUcmVhdG1lbnQiICYgQ0hFTU9fWU4gPT0gIk5vIiwgRkFMU0UsIAogICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoQ0hFTU9fWU4gPT0gIlVrbiIsIE5BLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUpKSkKCmZhY3RfdmFyc18yIDwtIGMoIkZBQ0lMSVRZX1RZUEVfRiIsICJGQUNJTElUWV9MT0NBVElPTl9GIiwgIkFHRV9GIiwgIlNFWF9GIiwgIlJBQ0VfRiIsCiAgICAgICAgICAgICAgICAgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwKICAgICAgICAgICAgICAgICAiQ0RDQ19UT1RBTF9CRVNUIiwgIkNMQVNTX09GX0NBU0VfRiIsICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiSElTVE9MT0dZIiwKICAgICAgICAgICAgICAgICAiQkVIQVZJT1IiLCAiR1JBREVfRiIsICJUTk1fQ0xJTl9UIiwgIlROTV9DTElOX04iLCAiVE5NX0NMSU5fTSIsCiAgICAgICAgICAgICAgICAgIlROTV9DTElOX1NUQUdFX0dST1VQIiwgIlROTV9QQVRIX1QiLCAiVE5NX1BBVEhfTiIsICJUTk1fUEFUSF9NIiwgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwKICAgICAgICAgICAgICAgICAiTUFSR0lOUyIsICJSRUFETV9IT1NQXzMwX0RBWVNfRiIsICJSWF9TVU1NX1JBRElBVElPTl9GIiwgIlBVRl8zMF9EQVlfTU9SVF9DRF9GIiwKICAgICAgICAgICAgICAgICAiUFVGXzkwX0RBWV9NT1JUX0NEX0YiLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAibWV0c19hdF9keCIpCgoKZGF0IDwtIGRhdCAlPiUKICAgICAgICBtdXRhdGVfYXQoZmFjdF92YXJzXzIsIGZ1bnMoZmFjdG9yKC4pKSkKCmBgYAoKCiMgRXh0cmFjdCBEYXRhIG9mIEludGVyZXN0CgpgYGB7cn0KCgojIE5vbi1Ib2Rna2luIEx5bXBob21hIFNpdGVzCnNpdGVfY29kZSA8LSBjKCJDMDk4IiwgIkMwOTkiLCAiQzExMSIsICJDMTQyIiwgIkMzNzkiLCAiQzQyMiIsIkM3NzAiLAoiQzc3MSIsIkM3NzIiLCJDNzczIiwiQzc3NCIsICJDNzc1IiwgIkM3NzgiLCJDNzc5IikKCiNteWNvc2lzIGZ1bmdvaWRlcywgU2V6YXJ5IHN5bmRyb21lLCBzdWJjdXRhbmVvdXMgcGFubmljdWxpdGlzLWxpa2UgVC1jZWxsIGx5bXBob21hLAojY3V0YW5lb3VzIFQtY2VsbCBseW1waG9tYSwgTk9TLCBwcmltYXJ5IGN1dGFuZW91cyBDRDMwK1QtY2VsbCBseW1waG9tYSwgCiNOSy9ULWNlbGwgbHltcGhvbWEsIHByaW1hcnkgY3V0YW5lb3VzIGdhbW1hLWRlbHRhIFQtY2VsbCBseW1waG9tYSwgCiNhbmQgYmxhc3RpYyBOSyBjZWxsIGx5bXBob21hLCByZXNwZWN0aXZlbHkKaGlzdG9fY29kZSA8LSBjKCI5NzAwIiwgIjk3MDEiLCAiOTcwOCIsICI5NzA5IiwgIjk3MTgiLCAiOTcxOSIsICI5NzI2IiwgIjk3MjciKQoKYmVoYXZpb3JfY29kZSA8LSBjKCIzIikKCmRhdGEgPC0gZGF0ICU+JQogICAgICAgIGZpbHRlcihCRUhBVklPUiAlaW4lIGJlaGF2aW9yX2NvZGUpICU+JQogICAgICAgIGZpbHRlcihQUklNQVJZX1NJVEUgJWluJSBzaXRlX2NvZGUpICU+JQogICAgICAgIGZpbHRlcihISVNUT0xPR1kgJWluJSBoaXN0b19jb2RlKSAlPiUKICAgICAgICAjZmlsdGVyKEFHRSA+PSAxOCkgJT4lCiAgICAgICAgZmlsdGVyKGlzLm5hKFBVRl9WSVRBTF9TVEFUVVMpID09IEZBTFNFKSAlPiUKICAgICAgICBmaWx0ZXIoaXMubmEoRFhfTEFTVENPTlRBQ1RfREVBVEhfTU9OVEhTKSA9PSBGQUxTRSkgICU+JQogICAgICAgIGZpbHRlcihTRVFVRU5DRV9OVU1CRVIgPT0gIjAwIikgCgpmaWxlX3BhdGggPC0gYygiL1VzZXJzL2JlYXN0YXRsaWZlL0dvb2dsZSBEcml2ZS9QZW5uL1Jlc2VhcmNoL0JhcmJpZXJpL05DREIiKQpzYXZlKGRhdGEsCiAgICAgIGZpbGUgPSBwYXN0ZTAoZmlsZV9wYXRoLCAiL01GX2RhdGEuUmRhIikpCmBgYAoKYGBge3IgbG9hZERhdGF9CiNsb2FkKCJNRl9kYXRhLlJkYSIpCmBgYAoKCgoKRGF0YSBpbmNsdWRpbmcgc2tpbiB0dW1vcnMgd2FzIG9idGFpbmVkIGZyb20gdGhlIE5DQkQgb24gT2N0b2JlciA3LCAyMDE5LiBDYXNlcyB0aGF0IHdlcmUgaW5jbHVkZWQgaW4gdGhpcyBhbmFseXNpcyB3ZXJlIHRob3NlIHdpdGg6CgoxLiBTaXRlIGNvZGVzOiBgciBzaXRlX2NvZGVgCjIuIEhpc3RvbG9neSBjb2RlczogYHIgaGlzdG9fY29kZWAKMy4gQmVoYXZpb3IgY29kZXM6IGByIGJlaGF2aW9yX2NvZGVgCgoKUGF0aWVudHMgd2VyZSBleGNsdWRlZCBpZiB0aGV5IGRpZG4ndCBoYXZlIHZhbHVlcyBmb3IgZWl0aGVyIGZvbGxvdyB1cCBvciB2aXRhbCBzdGF0dXMuCgpQYXRpZW50cyB3ZXJlIGV4Y2x1ZGVkIGlmIHRoZXkgaGFkIHN1cmdlcnkgdG8gYSBkaXN0YW50IHNpdGUgdXNpbmcgYFJYX1NVTU1fU1VSR19PVEhfUkVHRElTYC4gVGhpcyB3YXMgZG9uZSB0byBhdm9pZCBjb25mb3VuZGluZyBvZiBkaWZmZXJlbnQgc3VyZ2ljYWwgcHJvY2VkdXJlcy4gV2UgYXJlIG9ubHkgaW50ZXJlc3RlZCBpbiBzdXJnZXJ5IGF0IHRoZSBwcmltYXJ5IHNpdGUuIFRoZXNlIGRpc3RhbnQgc2l0ZSBzdXJnZXJpZXMgd2VyZSBiZWluZyBjb3VudGVkIGluIHRoZSBzdXJnZXJ5L3JhZGlhdGlvbiBzZXF1ZW5jZSBhbmQgdGh1cyB0byBzaW1wbGlmeSBhbmFseXNpcyB0aGV5IHdlcmUgcmVtb3ZlZC4gCgpgYGB7cn0KCmRhdGEgJT4lCiAgICAgICAgQ3JlYXRlVGFibGVPbmUoZGF0YSA9IC4sCiAgICAgICAgICAgICAgICAgICAgIHZhcnMgPSBjKCJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIpLAogICAgICAgICAgICAgICAgICAgICBpbmNsdWRlTkEgPSBUUlVFKSAlPiUKICAgICAgICBwcmludCguLAogICAgICAgICAgICAgIHNob3dBbGxMZXZlbHMgPSBUUlVFKQoKZGF0YSA8LSBkYXRhICU+JQogICAgICAgIGZpbHRlcihSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyA9PSAiMCIpIApgYGAKCgpSYWNlIHdhcyBncm91cGVkIGFzIHdoaXRlLCBibGFjaywgYXNpYW4sIG90aGVyL3Vua25vd24KU3RhZ2Ugd2FzIGdyb3VwZWQgaW50byAwLCBJLCBJSSwgSUlJLCBJViwgTkFfVW5rbm93biwgc3RhZ2UgMCB3YXMgcmVtb3ZlZApXaGV0aGVyIHN1cmdlcnkgd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1NVUkdFUllgIHZhcmlhYmxlLiBUaGUgYFNVUkdFUllfWU5gIHZhcmlhYmxlIHdhcyBjbGFzc2lmaWVkIGFzICdZZXMnLCAnTm8nLCBvciAnVW5rbm93bicuCgoKV2hldGhlciByYWRpYXRpb24gd2FzIHBlcmZvcm1lZCB3YXMgYmFzZWQgb24gdGhlIGBSRUFTT05fRk9SX05PX1JBRElBVElPTmAgdmFyaWFibGUuIFRoZSBgUkFESUFUSU9OX1lOYCB2YXJpYWJsZSB3YXMgY2xhc3NpZmllZCBhcyAnWWVzJywgJ05vJywgb3IgJ1Vua25vd24nLgoKCgojVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgpgYGB7cn0KCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgIkhJU1RPTE9HWV9GX0xJTSIsICJISVNUT0xPR1lfRiIsICJCRUhBVklPUiIsICJHUkFERV9GIiwKICAgICAgICAgICAgICAgICAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsCiAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIk1BUkdJTlMiLCAiTUFSR0lOU19ZTiIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwKICAgICAgICAgICAgICAgICAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsIAogICAgICAgICAgICAgICAgICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJTVVJHX1JBRF9TRVEiLAogICAgICAgICAgICAgICAgICJTVVJHX1JBRF9TRVFfQyIsICJTVVJHRVJZX1lOIiwgIlJBRElBVElPTl9ZTiIsICJDSEVNT19ZTiIsICJtZXRzX2F0X2R4IiwKICAgICAgICAgICAgICAgICAiTUVESUNBSURfRVhQTl9DT0RFIiwgIkVYUE5fR1JPVVAiKSkKCgoKcF90YWJsZShub19FeGNsdWRlcywKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgIkhJU1RPTE9HWV9GX0xJTSIsICJISVNUT0xPR1lfRiIsICJCRUhBVklPUiIsICJHUkFERV9GIiwKICAgICAgICAgICAgICAgICAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsCiAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIk1BUkdJTlMiLCAiTUFSR0lOU19ZTiIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwKICAgICAgICAgICAgICAgICAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsIAogICAgICAgICAgICAgICAgICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJTVVJHX1JBRF9TRVEiLAogICAgICAgICAgICAgICAgICJTVVJHX1JBRF9TRVFfQyIsICJUX1NJWkUiLCAiU1VSR0VSWV9ZTiIsICJSQURJQVRJT05fWU4iLCAiQ0hFTU9fWU4iLCAibWV0c19hdF9keCIsCiAgICAgICAgICAgICAgICAgIk1FRElDQUlEX0VYUE5fQ09ERSIpLCAKICAgICAgICBzdHJhdGEgPSAiRVhQTl9HUk9VUCIpCgoKcF90YWJsZShkYXRhLAogICAgICAgIHZhcnMgPSBjKCJZRUFSX09GX0RJQUdOT1NJUyIpLAogICAgICAgIHN0cmF0YSA9IGMoIk1FRElDQUlEX0VYUE5fQ09ERSIpKQpgYGAKCgpgYGB7cn0KCnByZUV4cE1lZGljYXJlICA8LSBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIiAmIElOU1VSQU5DRV9GID09ICJNZWRpY2FyZSIpKQpwb3N0RXhwTWVkaWNhcmUgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iICYgSU5TVVJBTkNFX0YgPT0gIk1lZGljYXJlIikpCgojIHAgPSAwLjI1IHdoZW4gY29tcGFyaW5nIGNoYW5nZSBpbiBwcm9wb3J0aW9uIG9mIHBhdGllbnRzIHdpdGggTWVkaWNhcmUgYmVmb3JlIGFuZCBhZnRlciBBQ0EgZXhwYW5zaW9uCnByb3AudGVzdChjKHByZUV4cE1lZGljYXJlLCBwb3N0RXhwTWVkaWNhcmUpLCAKICAgICAgICAgIGMobnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpKSwgbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSkpKQoKcHJlRXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpICU+JSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihJTlNVUkFOQ0VfRiA9PSAiTm9uZSIpKQpwb3N0RXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSAlPiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKElOU1VSQU5DRV9GID09ICJOb25lIikpCgojIFNpZ25pZmljYW50IGRlY3JlYXNlIGluIHRoZSBvdmVyYWxsIHByb3BvcnRpb24gb2YgcGF0aWVudHMgd2l0aG91dCBpbnN1cmFuY2UgYWZ0ZXIgQUNBIGV4cGFuc2lvbiAKcHJvcC50ZXN0KGMocHJlRXhwTm9JbnN1cmFuY2UsIHBvc3RFeHBOb0luc3VyYW5jZSksIAogICAgICAgICAgYyhucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIikpLCBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQb3N0LUV4cGFuc2lvbiIpKSkpCgpwX3RhYmxlKG5vX0V4Y2x1ZGVzLCBzdHJhdGEgPSAiRVhQTl9HUk9VUCIsIHZhcnMgPSAiRFhfUlhfU1RBUlRFRF9EQVlTIikKCmRhdGEgPC0gZGF0YSAlPiUgbXV0YXRlKEluc3VyZWQgPSBJTlNVUkFOQ0VfRiAhPSAiVW5rbm93biIpCgpgYGAKCgoKCiNLYXBsYW4gTWVpZXIgQW5hbHlzaXMKCgojI0FsbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQWxsIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgVHlwZQpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJGQUNJTElUWV9UWVBFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBMb2NhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfTE9DQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IEdlb2dyYXBoeQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfNDAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNHZW5kZXIKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNFWF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUkFDRV9GCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSQUNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNIaXNwYW5pYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSElTUEFOSUMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNJbnN1cmFuY2UgU3RhdHVzCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTlNVUkFOQ0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI092ZXJhbGwgU3Vydml2YWwgcHJlL3Bvc3QtQUNBIGV4cGFuc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRVhQTl9HUk9VUCIsIGRhdGFfaW1wID0gbm9fRXhjbHVkZXMpCmBgYAoKCjwhLS0gIyNJbmNvbWUgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSBjbGFzcyhkYXRhJElOQ09NRV9GKSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIklOQ09NRV9GIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0VkdWNhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRURVQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNVcmJhbi9SdXJhbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVV9SX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGFzcyAodHJlYXRtZW50IGF0IHBlcmZvcm1pbmcgZmFjaWxpdHkpCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDTEFTU19PRl9DQVNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNZZWFyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJZRUFSX09GX0RJQUdOT1NJUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1ByaW1hcnkgU2l0ZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU0lURV9URVhUIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0hpc3RvbG9neQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1RPTE9HWV9GX0xJTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgo8IS0tICMjQmVoYXZpb3IgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIkJFSEFWSU9SIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0dyYWRlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiR1JBREVfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NsaW5pY2FsIFQgU3RhZ2UKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBOIFN0YWdlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9OIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCjwhLS0gIyNDbGluaWNhbCBNIFN0YWdlIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9NIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0NsaW5pY2FsIFN0YWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgVCBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTiBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTSBTdGFnZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgU3RhZ2UgR3JvdXAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWFyZ2lucwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJNQVJHSU5TIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWFyZ2lucyBZZXMvTm8KYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIk1BUkdJTlNfWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyMzMCBEYXkgUmVhZG1pc3Npb24KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJFQURNX0hPU1BfMzBfREFZU19GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUmFkaWF0aW9uIFR5cGUKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJYX1NVTU1fUkFESUFUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjTHltcGhvdmFzY3VsYXIgSW52YXNpb24KCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRW5kb3Njb3BpYy9Sb2JvdGljCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFJhZGlhdGlvbiBTZXF1ZW5jZSAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNVUkdfUkFEX1NFUSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1N1cmdlcnkgWWVzL05vCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHRVJZX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUmFkaWF0aW9uIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkFESUFUSU9OX1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2hlbW8gWWVzL05vCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDSEVNT19ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNUcmVhdG1lbnQgWWVzL05vCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlR4X1lOIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjTWV0YXN0YXNlcyBhdCBEeApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJtZXRzX2F0X2R4X0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKPCEtLSAjI1R1bW9yIFNpemUgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIlRfU0laRSIsIGRhdGFfaW1wID0gZGF0YSkgLS0+CjwhLS0gYGBgIC0tPgoKI1R1bW9yIHNwZWNpZmljIFZhcmlhYmxlcwoKCiMjI05vZGUgU2l6ZQoKCiNDb3ggUHJvcG9ydGlvbmFsIEhhemFyZCBSYXRpbwoKIyNNb2RlbCAjMQoKIyMjRnVsbCBhbmFseXNpcwoKYGBge3J9Cm1vZGVsX29uZSA8LSBjb3hwaChTdXJ2KERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUywgUFVGX1ZJVEFMX1NUQVRVUyA9PSAwKQogICAgICAgICAgICAgICAgICAgICB+IFNVUkdfUkFEX1NFUSArIElOU1VSQU5DRV9GICsgQUdFICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiwKICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGRhdGEpCm1vZGVsX29uZSAlPiUgc3VtbWFyeSgpCgoKYGBgCgojIyNTdW1tYXJ5IG9mIE1vZGVsCgpgYGB7cn0KbW9kZWxfb25lICU+JQogICAgICAgIHRpZHkoLiwgZXhwb25lbnRpYXRlID0gVFJVRSkgJT4lCiAgICAgICAgc2VsZWN0KHRlcm0sIGVzdGltYXRlLCBjb25mLmxvdywgY29uZi5oaWdoLCBwLnZhbHVlKSAlPiUKICAgICAgICByZW5hbWUoVmFyaWFibGUgPSB0ZXJtLAogICAgICAgICAgICAgICBIYXphcmRfUmF0aW8gPSBlc3RpbWF0ZSkgJT4lCiAgICAgICAgdGJsX2RmICU+JQogICAgICAgIHByaW50KG4gPSBucm93KC4pKQoKYGBgCgojIFByZWRpY3Rpb24gTG9naXN0aWMgUmVncmVzc2lvbiBNb2RlbHMKCiMjIFN1cmdlcnkKYGBge3J9Cgpub19Va25zIDwtIGRhdGEgJT4lCiAgZmlsdGVyKFNVUkdFUllfWU4gIT0gIlVrbiIpICU+JSAKICBkcm9wbGV2ZWxzKCkgJT4lIAogIG11dGF0ZShTVVJHRVJZX1lOID0gYXMubG9naWNhbChTVVJHRVJZX1lOKSkKCmZpdF9zdXJnIDwtIGdsbShTVVJHX1RGIH4gQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOQ09NRV9GICsgVV9SX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCwKICAgZGF0YSA9IG5vX1VrbnMpCgpzdW1tYXJ5KGZpdF9zdXJnKQoKZXhwKGNiaW5kKCJPZGRzIHJhdGlvIiA9IGNvZWYoZml0X3N1cmcpLCBjb25maW50LmRlZmF1bHQoZml0X3N1cmcsIGxldmVsID0gMC45NSkpKQpgYGAKCiMjIE1ldGFzdGFzaXMgYXQgVGltZSBvZiBEaWFnbm9zaXMKYGBge3J9CiMgbGltaXQgdG8gdGhvc2UgY2FzZXMgd2hlcmUgZGF0YSBhYm91dCBleHBhbnNpb24gc3RhdHVzIGlzIGF2YWlsYWJsZSAoPiBBZ2UgMzksIG5vbi1hbWJpZ3VvdXMgc3RhdHVzIHN0YXRlcykKCmZpdF9tZXRzIDwtIGdsbShtZXRzX2F0X2R4X0YgfiBBR0VfRiArIFNFWF9GICsgUkFDRV9GICsgSU5DT01FX0YgKyBVX1JfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YgKyBFWFBOX0dST1VQLAogICBkYXRhID0gbm9fRXhjbHVkZXMpCgpzdW1tYXJ5KGZpdF9tZXRzKQoKZXhwKGNiaW5kKCJPZGRzIHJhdGlvIiA9IGNvZWYoZml0X21ldHMpLCBjb25maW50LmRlZmF1bHQoZml0X3N1cmcsIGxldmVsID0gMC45NSkpKQpgYGA=